【发布时间】:2012-09-12 14:08:18
【问题描述】:
我需要能够使用反射动态地实例化一个对象。此时我有一个PropertyInfo,需要先获取该对象的Assembly,然后才能调用CreateInstance 方法。
代码如下:
Dim subObjectPropInfo As PropertyInfo = GetPropertyInfo(baseObject, "Name")
Dim asm As Assembly = ?????
Dim subObjType As Type = asm.GetType(subObjectPropInfo.PropertyType.FullName)
Dim subObject As Object = Activator.CreateInstance(subObjType)
问题是:如何从 PropertyInfoobject 获取我需要实例化的对象的程序集?是否可以 ?如果没有,有什么办法呢?
我过去总是使用相同的程序集,所以这样做的方式并不是真正动态的。现在对象来自多个程序集,不能像以前那样做。
【问题讨论】:
-
注意第三行可以简化为
Dim subObjType As Type = subObjectPropInfo.PropertyType。
标签: vb.net .net-assembly propertyinfo