通常情况下我需要检查方法的参数是否为null,例如:
public static bool operator <=
(ApplicationVersion i_app1, ApplicationVersion i_app2)
{
if (i_app1 == null) throw new ArgumentNullException("i_app1");
if (i_app2 == null) throw new ArgumentNullException("i_app2");
[...]
}
有没有办法自动执行此操作(半),例如Code代码段?自动完成? ReSharper的?
答案 0 :(得分:2)
Resharper具有此功能。如果您将光标放在参数名称上 - 例如i_app1并按Alt-Enter键 - 它会提供检查空值的选项。
答案 1 :(得分:2)
我有一个扩展方法,至少使它稍微更简单:
i_app1.ThrowIfNull("i_app1");
实施很简单:
public static void ThrowIfNull<T>(this T argument, string name)
where T : class
{
if (argument == null)
{
throw new ArgumentNullException(name);
}
}
我更喜欢使用片段或其他内容,因为这意味着代码本身更短。打字对我来说很少是一个问题 - 尽管保持代码尽可能可读是。
希望.NET 4.0中的Code Contracts仍然可以使这个整洁。