возможно ли иметь условное поле в анонимном типе - PullRequest
10 голосов
/ 22 июня 2010

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

 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), тогда я помещаюв сегодняшнюю дату.Что я действительно хочу сделать, если скажу:

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

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

1 Ответ

9 голосов
/ 22 июня 2010

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

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

...