我在class1中创建了一个只读属性(名称)。如何在class2中使用此name属性?
Public Class Class1
ReadOnly Property name() As String
Get
Return System.IO.path.GetFileName("C:\Demo\Sample1")
End Get
End Property
我可以直接将此名称变量值带入class2吗?需要建议。
答案 0 :(得分:3)
您可以在任何引用类型为Class1
的对象的位置访问此属性。因此,如果您的Class2
个对象有引用,则可以使用它。
例如:
Class Class2
Property cls1 As New Class1
Function getClass1Name() As String
Return cls1.Name
End Function
End Class
另一种选择是使属性共享,因为它是一个独立于任何Class1
实例的值。
然后您可以通过class-name:
在没有Class1
实例的情况下访问它
Class Class1
Public Shared ReadOnly Property Name As String
Get
Return System.IO.Path.GetFileName("C:\Demo\Sample1")
End Get
End Property
End Class
Class Class2
Function getClass1Name() As String
Return Class1.Name
End Function
End Class
答案 1 :(得分:1)
您的Readonly属性仍然是实例成员,如果没有实例化Class1并查看属性定义,则无法共享它,它可以是Shared
。您可以设置属性Shared
并在class2
Public Class Class1
Shared Property name() As String
Get
Return System.IO.path.GetFileName("C:\Demo\Sample1")
End Get
End Property
,在class2中,你可以调用
Dim class1Name = Class1.name
答案 2 :(得分:0)
通过Class1的实例
Public Class Class2
Sub New()
Dim o As New Class1
Dim s As String = o.Name
End Sub
End Class
Here可以在课堂上阅读。