如何在VB.NET中创建一个属性“Write Once Read Many”?
创建一个类属性“一次写入,多次读取”的最佳方式是什么,以便您只能设置属性一次?
我知道我可以传递构造函数中的所有属性并使它们成为ReadOnly,但在具有很多属性的情况下,我不想要一个具有20多个参数的构造函数。
此外,我意识到我可以“推出我自己的”制定者,但必须为每个属性做这件事似乎是一堆冗余编码。
有没有一种干净的方式在VB 2008 .NET 3.5中做到这一点?
一次写入属性永远不会“干净”。
我建议创建一个builder / factory类来避免20参数CTor。 (是的,我知道这是一些打字)
类似的讨论在这里:我应该使用设置一次变量?
此外,即使你坚持我没有看到另一个选择,而不是滚动你自己的setters,这也是很多输入。
我知道已经差不多3年了,但这是我认为更好的解决方案:
public class Site
{
private int miID;
public Site(int iNewID, string sName)
{
miID = iNewID;
Name = sName;
}
// The ID property can only be set once in the constructor
public int ID
{
get { return miID; }
}
public string Name { get; set; }
}
“最干净”的方式是根本不做,并使用自动属性。 我也没有看到它的需要。 他们只能写一次真的很重要吗? 如果是这样,我肯定会去一个构造函数,它将所有属性的值作为参数。
链接地址: http://www.djcxy.com/p/43945.html上一篇: How can I make a property "Write Once Read Many" in VB.NET?