【发布时间】:2018-09-03 09:26:49
【问题描述】:
我想实现一些只能设置一次的属性。 我知道 readonly 但我希望能够从类外部设置值。
情况如下: 我有一个类,我用它作为我从数据库中读取的一些数据的键。这个键类包含几个属性。
我的第一个想法是创建多个构造函数,我可以在其中设置我需要的属性,但由于“未设置”是大多数这些属性的有效状态,我很快就有了一堆构造函数,我认为这不是最好的方法。
我不能使用公共设置器创建属性,因为它们是关键信息,之后更改它们是没有好处的。所以我需要一种从键类外部设置它们一次的方法,因为我不想为每种情况制作 20 个稍微不同的构造函数。
是否有一些类似只读的易于使用的方法来执行此操作,还是我必须自己实现它?
【问题讨论】:
-
这篇文章是专门针对 WPF 的,但你可能想偷一个 freezable object 的想法。
-
你可能在谈论让你的班级单身吗?
-
建造者模式?甚至可能使用“Fluent API”......比如
KeyClass.WithPropA("someValue").WithPropC("someotherValue").Build()? -
@Fildor 我的想法完全正确。您可以在答案中对此进行解释吗?我应该吗?
标签: c#