如何在VB.NET中创建"Write Once Read Many"属性?

Cas*_*ins 7 vb.net properties set readonly

创建类属性"Write Once,Read Many"的最佳方法是什么,这样您只能设置一次属性?

我知道我可以传递构造函数中的所有属性并使它们成为ReadOnly,但是在具有大量属性的情况下,我不希望构造函数具有20多个参数.

此外,我意识到我可以"滚动我自己的"设置器,但必须为每个属性执行此操作似乎是一堆冗余编码.

在VB 2008 .NET 3.5中有一个干净的方法吗?

pet*_*hen 2

一次写入属性永远不会“干净”。

我建议创建一个构建器/工厂类以避免 20 参数 CTor。(是的,我知道打字相当麻烦)

类似的讨论在这里: 我应该使用一次设置变量吗?

[编辑]此外,即使您坚持认为,除了滚动您自己的设置器之外,我也看不到其他选择,这也需要大量输入。