simple: Nullable<T>
(et, par conséquent, Nullable<DateTime>
, alias DateTime?
) n'a pas une méthode ToString(String)
.
Vous avez probablement voulu appeler DateTime.ToString(String)
. Pour ce faire, d'une manière nul en toute sécurité, vous pouvez utiliser C# 6 de null-conditional operator?.
:
dfCalPlanDate.Text = concreteCalPlan.ProcessDate?.ToString("d");
qui est une manière concise de l'écriture:
var date = concreteCalPlan.ProcessDate;
dfCalPlanDate.Text = (date == null ? null : date.ToString("d"));
Notez que cela donné null
si ProcessDate
est null
. Vous pouvez ajouter l'opérateur null-coalescent ??
si vous avez besoin un autre résultat dans ce cas:
dfCalPlanDate.Text = concreteCalPlan.ProcessDate?.ToString("d") ?? "no date set";
Dépend de l'origine de ProcessDate, un champ provient d'une requête db? – BugFinder
Essayez avec ProcessDate.Value.ToString –
@BugFinder seul le type importe, pas d'où il vient. Comme l'OP l'a déjà mentionné, c'est un 'DateTime?' –