我得到了这样的课程:
<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
然后我想使用这个循环遍历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
但是如果我想得到code_produit,那么我必须设置 nothing 代替{0},因为它不是数组。
所以我的问题是如何检测正确是否为数组?
谢谢
答案 0 :(得分:0)
您必须使用PropertyInfo.PropertyType Property检索属性的类型。 然后,您可以使用Type.IsArray Property检查类型是否为数组。
For Each proper As PropertyInfo In properties
If proper.PropertyType.IsArray Then
[...]
End If
next