Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 正确的实施方法是什么;常量对象;?_.net_Vb.net_Oop - Fatal编程技术网

.net 正确的实施方法是什么;常量对象;?

.net 正确的实施方法是什么;常量对象;?,.net,vb.net,oop,.net,Vb.net,Oop,我正在尝试一些让我觉得很普通的东西,但我正在努力寻找实现它的好方法 我创建了一个“Tag”类,如下所示: Public Class Tag Public Name As String Private Server As Server ... End Class 标记是在运行时创建的,所以对我来说很有意义。 但是,这些标记存储在服务器上,定义如下: Public Class Server Public Name As String Public Locat

我正在尝试一些让我觉得很普通的东西,但我正在努力寻找实现它的好方法

我创建了一个“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
我觉得你不应该这样做,但我不知道什么是正确的方法

总而言之,我有“常量对象”,这意味着对象的属性在编码过程中是已知的,并且在运行时不会改变。让其他对象在运行时访问这些对象的最佳方法是什么

非常感谢您的帮助

这些常量对象通常称为不可变对象

在.NET中,获取不可变对象的最简单方法是使用构造函数和只读属性设计类

' An immutable object
Public Class Server
    Public Sub New(name As String)
        Name = name 
    End Sub

    Public ReadOnly Property Name() As String
End Class
' An immutable object
Public Class Server
    Public Sub New(name As String)
        Name = name 
    End Sub

    Public ReadOnly Property Name() As String
End Class