我需要能够使用反射动态实例化对象。此时我有一个PropertyInfo
,在调用CreateInstance
方法之前,需要获得该对象的Assembly
。
代码如下:
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)
问题是:如何从PropertyInfo
对象中获取需要实例化的对象的程序集?有可能吗?如果没有,该怎么办?
我过去总是有相同的程序集,所以做这件事的方式并不是很动态。既然对象来自多个程序集,就不能像以前那样了。
尝试使用PropertyInfo对象中的PropertyType.Assembly属性。
subObjectPropInfo.PropertyType.Assembly