我正在使用属性来允许将单个字符串name
添加到类Details
中,我希望属性只接受可以拆分为两部分的字符串。
这两部分将是firstName
和LastName
。但是,如果生成的拆分在数组中有 1,0 或多于 2 个字符串,则输入应被视为无效,我想首先向调用该属性的任何代码抛出错误。
可以对这样的属性进行错误处理吗?
如果不是,那么以下是在检查正确性的同时将数据放入类的首选方法:
- 使用类中的方法
Details
来处理错误输入,制作该方法boolean
。 - 继续使用属性,但由调用属性的代码完成错误检查。我不喜欢这样,因为我希望类中的所有错误检查代码都是自包含的
Details
。
.
class Details
{
private string firstName, lastName;
public string Name
{
// name
get { return firstName + " " + lastName; }
set
{
string name = value;
string[] nameArray = name.Split(' ');
firstName = nameArray[0];
lastName = nameArray[1];
}
}
}
编辑:我最感兴趣的是三个选项中的哪一个被认为是最佳实践:
- 错误检查内部属性。
- 错误检查另一个类中的类外,然后只需将经过验证的输入添加到
Details
- 使用
boolean
内部的方法Details
来验证输入。