最佳答案
有没有一个简单的属性或数据契约,我可以分配给一个函数参数,防止 null
被传递到 C #/。NET?理想情况下,这也会在编译时进行检查,以确保字面 null
没有在任何地方被使用,并在运行时抛出 ArgumentNullException
。
现在我写的是..。
if (null == arg)
throw new ArgumentNullException("arg");
... 每一个论点,我希望不是 null
。
同样,是否存在与 Nullable<>
相反的情况,即下列情况会失败:
NonNullable<string> s = null; // throw some kind of exception