我得到了一个这样的类:
<Serializable()> Public Class SACCVar
Private _Code_Produit As String
Private _Voie_Ana_Name(6) As String
Public Property Voie_Ana_Name(index As Integer) As String
Get
Return _Voie_Ana_Name(index)
End Get
Set(value As String)
_Voie_Ana_Name(index) = value
End Set
End Property
Public Property Code_Produit As String
Get
Return _Code_Produit
End Get
Set(value As String)
_Code_Produit = value
End Set
End Property
End Class
然后我想使用以下命令循环遍历类属性:
dim saccdata as SACCVar
Dim VarType As Type = GetType(SACCVar)
Dim properties As PropertyInfo() = VarType.GetProperties()
For Each proper As PropertyInfo In properties
proper.GetValue(SaccData, {0})
next
但是使用getvalue,如果我想获得code_produit,我必须设置nothing来代替{0},因为它不是一个数组。
因此,我的问题是如何检测正确是否为数组?
感谢
您必须使用PropertyInfo.PropertyType属性检索属性的类型。然后可以使用Type.IsArray属性来检查该类型是否为数组。
For Each proper As PropertyInfo In properties
If proper.PropertyType.IsArray Then
[...]
End If
next