public static void Save(IValueSink sink, CalendarEntry value)
{
sink.EnterChoice((byte)value.Tag);
switch(value.Tag)
{
case Tags.Date:
Value<DateWrapper>.Save(sink, (DateWrapper)value);
break;
case Tags.DateRange:
Value<DateRangeWrapper>.Save(sink, (DateRangeWrapper)value);
break;
case Tags.WeekNDay:
Value<WeekNDayWrapper>.Save(sink, (WeekNDayWrapper)value);
break;
default:
throw new Exception();
}
sink.LeaveChoice();
}