【发布时间】:2010-09-29 00:17:53
【问题描述】:
我正在尝试编写一个通用扩展方法,让我这样做:
this.startDate = startDateXAttribute.NullOrPropertyOf<DateTime>(() =>
{
return DateTime.Parse(startDateXAttribute.Value);
});
如果NullOrPropertyOf() 用于null 对象(例如,如果startDateXAttribute 是null),NullOrPropertyOf() 将返回null,如果不为空,则返回Func 的结果。
这个扩展方法会是什么样子?
【问题讨论】:
-
C# 语言设计者请注意:向该语言添加类似 null 安全解除引用运算符之类的东西可能是一个流行的功能。 :-)
-
在写这篇文章的时候,C# 6 中其实已经计划了这样一个特性:见.NET Compiler Platform ("Roslyn"): Language feature status: Null propagating operator
?.