我有一个类,为了做到这一点,工作需要设置8个不同的
属性值.
我想确保在尝试执行
方法之前,所有8个
属性都被设置.
我目前拥有通过构造
函数传递和设置的所有参数.
有没有更好的
方法来做到这一点?
您可以允许创建对象,而不指定所有
属性的值,然后如果在对象状态对于执行的
方法调用有效之前
调用该
方法将抛出InvalidOperationException,在这种情况下,这意味着所有8个
属性都将有效值.
这样你就可以给消费者更多的灵活性.它可以一次创建一个新的实例,将其设置为另一个,然后调用该方法.这是通过.NET代码库使用的“模式”,并且已经使用了哪些开发人员.
更新:
如果您正在添加不需要初始化的完整属性集的其他方法,这也简化了事情.是的,我们可以使用新的属性集添加另一个构造函数重载,但是如果我们有两个方法需要一个要初始化的相同类型的属性呢?这不能通过使用构造函数重载来解决.
原文链接:https://www.f2er.com/csharp/92161.html