我正在尝试让我感到非常普遍的事情,但我正在努力用良好的方式来实现它。
我创建了一个'Tag'类,如下所示:
Public Class Tag
Public Name As String
Private Server As Server
...
End Class
标签是在运行时创建的,所以对我来说很有意义。 但是,这些标记存储在服务器上,定义如下:
Public Class Server
Public Name As String
Public Location As Location (<- An Enum)
...
End Class
服务器在运行时之前是已知的,永远不会改变,永远不会移动,等等。
现在,我在程序的最开始创建它们,就像任何对象一样,并将它们存储在变量中:
Dim Server1 As New Server
Server1.Name = "Server1"
Server1.Location = "Somewhere"
Dim Server2 As New Server
....
我觉得这不是你应该这样做的方式,但我不清楚什么是正确的方法。
总而言之,我有'常量对象',意思是在编码期间属性已知的对象,并且永远不会在运行时更改。在运行时使其他对象可以访问这些对象的最佳方法是什么?
非常感谢你的帮助
答案 0 :(得分:1)
这些常量对象通常称为不可变对象。
在.NET中,获取不可变对象的最简单途径是使用构造函数和只读属性设计类。
private void myContextMenuStrip_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
{
ToolStripItem item = e.ClickedItem;
//////////// This will show "nameOfMenuItem":
MessageBox.Show(item.Name, "And the clicked option is...");
}