Microsoft代码准则禁止在构造函数中进行复杂的操作(请参阅https://docs.microsoft.com/en-us/dotnet/standard/design-guidelines/constructor)>
如果不在构造函数中,验证输入数据的正确方法是什么?这是一个例子:
class User{ User(string id){ Validate(id); //Looks up id in database or remote service } }
不应在构造函数中调用validate。但是如何确定我没有带无效ID的User类?
Microsoft代码准则禁止在构造函数中进行复杂的操作(请参阅https://docs.microsoft.com/zh-cn/dotnet/standard/design-guidelines/constructor)验证...的正确方法是什么?
基本上取决于操作是否实际上很复杂。