2009-08-13 33 views
0

我正在嘗試使用反射從返回某種類型的類中收集屬性。但是,我返回的一些屬性是強類型列表,它們包含我想要的類型。 基本上我試圖做到以下幾點:在.NET中使用反射的匹配類型

Public Function GetPropertyInfo(ByVal t as System.Type) 
    for each pi as System.Reflection.PropertyInfo in ob.GetType.GetProperties() 
     if pi.PropertyType.equals(GetType(List(Of t))) 
     return pi 
     end if 
    next 

    Return Nothing 
End Function 

顯然,它拋出一個錯誤說t不是一個聲明的類型,這並不工作。有沒有辦法做到這一點?

謝謝。

回答

2

在C#中,您正在尋找這樣的語法:

Type desiredPropertyType = typeof(List<>).MakeGenericType(new Type[] { t }); 

哪個反射說是這樣的:

Dim desiredPropertyType As Type = GetType(List(Of)).MakeGenericType(New Type() { t }) 
+0

大,工作就像一個魅力。謝謝! – link664 2009-08-13 07:21:10

相關問題