【发布时间】:2011-05-24 16:43:38
【问题描述】:
创建和初始化具有多个只读属性的类的实例的优雅方法是什么?在构造函数中传递所有值不是很方便。
目的是实例在初始化后是不可变的。但是,如果构造函数不用于初始化所有属性值,那么如何从另一个类更改只读属性?
【问题讨论】:
标签: vb.net properties immutability instantiation
创建和初始化具有多个只读属性的类的实例的优雅方法是什么?在构造函数中传递所有值不是很方便。
目的是实例在初始化后是不可变的。但是,如果构造函数不用于初始化所有属性值,那么如何从另一个类更改只读属性?
【问题讨论】:
标签: vb.net properties immutability instantiation
它们是只读的,因此它们在构造后无法修改。此行为是设计使然。
如果您想减少参数计数,请查看Parameter Object Pattern
【讨论】:
你有两个选择
在初始化后创建一个公共子来更新变量,或者将更新添加到类的私有方法中的另一段代码中。
您使用反射来更新私有变量值。
第一种方式是迄今为止最好的选择,秒是一种技巧。
【讨论】: