2016-05-16 7 views
0

私はクラスを持っているリストが空のときにカスタムvb.netリストオブジェクトの各プロパティを反復処理する方法はありますか?

Public Class Class1 
    Private _Key As Integer 
    Private _Value As String 
... 
End Class 

両方_key_valueがパブリックプロパティを持っています。それから私は、一般的なリストを持っている

dim obj as New List(of Class1) 

obj.count> 1は、私は何の問題

dim pi() As System.Reflection.PropertyInfo = obj(0).GetType().GetProperties() //or any valid index for what is worth. 

しかし、リストが空の場合、

を使用して リフレクションを使用してプロパティを取得することができるとき
dim pi() As System.Reflection.PropertyInfo = obj.GetType().GetProperties() 

私にはプロパティーが届かないキー

リストがインスタンス化されていても空白の場合(obj.count = 0)、これらのプロパティをリフレクションなどの方法で取得するにはどうすればよいですか?以前obj(0).GetType()が返されるitemType変数は今と同じTypeが含まれていることを

答えて

1
Dim listType = myList.GetType() 
Dim itemType = listType.GenericTypeArguments.First() 

このGenericTypeArgumentsプロパティは、.NET 4.5以降のプロパティです。

+0

ありがとうございます。フレームワークの古いバージョンのためのオプションはありますか? – thx0125

+0

私はそこにいると確信していますが、私はそれが私の頭の上から外れているのか分からず、私は見ていません。私ができる時までに他の誰も答えなかったら、私は少し研究をして、私が見ることができるものを見るでしょう。 – jmcilhinney

関連する問題