相关疑难解决方法(0)

您在c#中声明参数正确性时发现的最流畅,最吸引人的语法是什么?

任何语言中的一个常见问题是断言发送到方法的参数满足您的要求,如果不满足,则发送好的,信息丰富的错误消息.这种代码反复重复,我们经常尝试为它创建帮助器.然而,在C#中,似乎那些帮助者被迫处理语言和编译器强加给我们的一些重复.为了表明我的意思,让我提供一些没有帮助的原始代码,然后是一个可能的帮助器.然后,我会指出帮助器中的重复并准确地说出我的问题.

首先,代码没有任何帮助:

public void SomeMethod(string firstName, string lastName, int age)
{
     if(firstName == null)
     {
          throw new WhateverException("The value for firstName cannot be null.");
     }

     if(lastName == null)
     {
          throw new WhateverException("The value for lastName cannot be null.");
     }

     // Same kind of code for age, making sure it is a reasonable range (< 150, for example).
     // You get the idea
}
Run Code Online (Sandbox Code Playgroud)

}

现在,代码合理地尝试帮助:

public void SomeMethod(string firstName, string lastName, int age)
{
      Helper.Validate( x=> x !=null, "firstName", firstName); …
Run Code Online (Sandbox Code Playgroud)

c# lambda c#-3.0

29
推荐指数
6
解决办法
3498
查看次数

按契约/ C#4.0设计/避免ArgumentNullException

我非常厌倦检查我的所有参数为null,并在它们出现时抛出ArgumenutNullExceptions.

据我了解,C#4.0通过契约构造实现了一些设计.是否可以指定方法不接受C#4.0中的空参数?

另外,在此期间我可以做些什么(也许是一个属性?)来避免这种单调的检查null和抛出的任务?

argumentnullexception c#-4.0

5
推荐指数
1
解决办法
4939
查看次数

标签 统计

argumentnullexception ×1

c# ×1

c#-3.0 ×1

c#-4.0 ×1

lambda ×1