Arrays 含义相同,但对于属性,情况并非如此。我说的不是它的备份存储,而是属性声明本身,它也可以在没有备份存储的情况下编写为property A1()作为Integer。然后正如您正确指出的,属性A1()作为整数和属性A1作为整数()是不同的。对于对象类型,在使用此
Arrays 含义相同,但对于属性,情况并非如此。我说的不是它的备份存储,而是属性声明本身,它也可以在没有备份存储的情况下编写为property A1()作为Integer。然后正如您正确指出的,属性A1()作为整数和属性A1作为整数()是不同的。对于对象类型,在使用此,arrays,vb.net,declaration,Arrays,Vb.net,Declaration,含义相同,但对于属性,情况并非如此。我说的不是它的备份存储,而是属性声明本身,它也可以在没有备份存储的情况下编写为property A1()作为Integer。然后正如您正确指出的,属性A1()作为整数和属性A1作为整数()是不同的。对于对象类型,在使用此类属性之前不会报告它(很棘手!),但对于其他类型,问题会立即报告。我不明白为什么我的回答会被否决。我不知道是谁否决了你。当然这看起来很棘手,区别在于对象和其他数据类型以及属性的声明方式——正如我在回答中所说的。 Property arrayVa
含义相同,但对于
属性
,情况并非如此。我说的不是它的备份存储,而是属性声明本身,它也可以在没有备份存储的情况下编写为property A1()作为Integer
。然后正如您正确指出的,属性A1()作为整数
和属性A1作为整数()
是不同的。对于对象类型,在使用此类属性之前不会报告它(很棘手!),但对于其他类型,问题会立即报告。我不明白为什么我的回答会被否决。我不知道是谁否决了你。当然这看起来很棘手,区别在于对象和其他数据类型以及属性的声明方式——正如我在回答中所说的。
Property arrayVariable() As Object
Property arrayVariable As Object()
Public Class Class1
Dim _A1() As Object
Dim _A2() As Object
ReadOnly Property A1() As Object ' 1st form of declaration
Get
Return _A1
End Get
End Property
ReadOnly Property A2 As Object() ' 2nd form of declaration
Get
Return _A2
End Get
End Property
End Class
Sub Main()
Dim c1 As New Class1
Dim d1 As New Dictionary(Of String, String)
Dim value As String = ""
d1.TryGetValue(CStr(c1.A1(0)), value) '<- Option Strict On disallows late binding.
d1.TryGetValue(CStr(c1.A2(0)), value) '<- No error here.
End Sub
Dim data() As String
Dim data As String()
Dim data() As String
Dim y As Object
Dim x = y(0)
Public Class Class1
Dim _A1 As Integer()
Dim _A2 As Integer()
ReadOnly Property A1() As Integer
Get
Return _A1
' error at above line: Value of type '1-dimensional array of Integer' cannot
' be converted to 'Integer'.
End Get
End Property
ReadOnly Property A2 As Integer()
Get
Return _A2
End Get
End Property
End Class
ReadOnly Property A1() As Integer()