【发布时间】:2010-09-11 18:08:08
【问题描述】:
好的,我不认为这是可能的,所以我想我会要求确定。我正在创建一个函数,它反映类中的属性并将它们添加到我拥有的这个数据结构中。一些属性是泛型类型。
假设我们有一个DataType(Of T) 有一个.Value 类型为T 的属性:
Dim properties = GetType(MyType).GetFields(Reflection.BindingFlags.Public Or _
Reflection.BindingFlags.Instance)
For Each prop As fieldinfo In properties
Collection.Add(prop.Name,prop.GetValue(poco))
Next
在基本类型的collection.Add 中(Integer、String 等...)我只想添加类型...但对于泛型我想添加DataType(Of T).Value。我希望有一些解决方法,但我认为没有办法,因为 T 的类型无法在编译时确定,对吧?理想情况下,DirectCast(prop.getvalue(poco), DataType(Of T)).Value 是可能的。这是您希望出现比 .NET 4.0 中更多动态的时候。
【问题讨论】:
标签: vb.net generics reflection