Eri*_*tas 5 c# validation constructor
所以我的构造函数中有一个带有单个字符串参数的类:
public MyClass(string name)
{
this.Name = name;
}
Run Code Online (Sandbox Code Playgroud)
但我永远不想担心有人初始化一个名为NULL或零长度字符串的MyClass实例.什么是最好的验证参数?使用属性或方法,如果提供了无效参数,您可以随时执行任何操作,返回null或不设置任何内容.但是一旦调用了构造函数,就会创建该对象的实例,无论它是否传递了有效的参数.
如下所示抛出异常最好的方法?或者是否有其他更优选的方法?
public MyClass(string name)
{
if (name == null | name == "") throw new ArgumentException("Name can not be null or blank", "name");
this.Name = name;
}
Run Code Online (Sandbox Code Playgroud)
当然,如果参数无效,我总是可以将名称设置为某些默认名称,如"Unnamed MyClass",但在这种情况下,我宁愿只是阻止一个无效的名称,然后尝试假设一些替代行为.
ArgumentNullException
ArgumentNullException
如果名字是ctor投掷的文件null
编辑:而不是这个:
if (name == null || name == "")
Run Code Online (Sandbox Code Playgroud)
用这个:
if (string.IsNullOrEmpty(name))
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4898 次 |
最近记录: |