假设一个应用程序有Employer
一个用户创建了一个对象,并且程序提示用户输入一个名为EmployerId
. 在此示例中,应用程序不会让用户输入无效的 EmployeeId。我已经模拟了以下解决方案来解决问题。
public int EmployerId
{
get { return employerId; }
set
{
EmployerId = SetEmployerId();
}
}
public int SetEmployerId()
{
int id = 0;
Console.Write("Enter employer ID: ");
id = Convert.ToInt32(Console.ReadLine());
while (id < 5 || id > 10) //silly logic for illustrative purposes
{
Console.Write("Invalid id, enter another id: ");
id = Convert.ToInt32(Console.ReadLine());
}
return this.employerId = id;
}
这使任何繁重的工作都脱离了属性的设置器,并将该责任委托给SetEmployerId
方法。
这在生产环境中是可接受的解决方案吗?有什么方法可以改进,或者当应用程序不是这样一个人为的例子时,这可能会导致以后的任何陷阱?(除了用户不知道什么是有效输入这一事实之外)。