我不知道:
- 如果这行得通。
- 如果这是个好主意。
- 它叫什么,以便了解更多信息。
但我认为意图是相当明显的。
public static class DebugLogic
{
public static bool ThrowIfNull = false;
public static T OrNew<T>(this T obj) where T : class
{
if (obj != null) return obj;
else if (ThrowIfNull) throw new ArgumentNullException(//to do...);
else return Activator.CreateInstance<T>();
}
}
预期用途:
var customer = order.Sale.OrNew().Customer.OrNew().Name
我在做什么?这是疯狂的还是有帮助的?似乎很有帮助。