Возможно ли иметь условное поле в анонимном типе

У меня есть код, который выглядит так и создает список из существующей коллекции

 var items = items.ConvertAll(r => new
            {
                description = FormatDescription(r),
                start = r.Milestone.HasValue ? r.Milestone.Value.ToString("yyyy-MM-ddTHH:mm:ssZ") : DateTime.Today.ToString("yyyy-MM-ddTHH:mm:ssZ"),
                classname = "significance" + r.SignificanceLevel,

Как вы можете видеть, прямо сейчас, если у меня нет даты начала (r.Milestone), я вставляю сегодня дату. Что я действительно хочу сделать, если скажу:

  • Если у меня есть r.Milestone.Hasvalue, покажите эту дату, если у меня нет значения DONT HAVE START DATE в анонимном типе вообще.

Возможно ли иметь эту условную логику, где вы можете удалить поле вместе внутри этого типа кода?

Ответ 1

Нет, вы не можете, в основном, потому что это сделает анонимный класс другим в разных исполнениях, и класс не может быть проверен типом.

Я бы рекомендовал установить дату начала в null вместо значения по умолчанию и проверить это позже в вашем коде.