<分区>
假设我有一个如下所示的函数:
public void DoSomething(Action<object> something)
{
something(getObject());
}
如果 something
为 null,则此代码将引发 NullReferenceException。
但是,something == null
不会编译,那么我该如何测试 something
以确定它是否为 null?
<分区>
假设我有一个如下所示的函数:
public void DoSomething(Action<object> something)
{
something(getObject());
}
如果 something
为 null,则此代码将引发 NullReferenceException。
但是,something == null
不会编译,那么我该如何测试 something
以确定它是否为 null?
最佳答案
您应该能够直接针对 null 进行测试。这编译得很好:
public void DoSomething(Action<object> something)
{
if (something == null) // Note that there are no () on something
{
throw new ArgumentNullException("something");
}
something(GetObject()); // Assumes `GetObject()` method is available on class, etc
}
关于c# - 如何测试 Action<...> 是否为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16653989/