110,566
社区成员
发帖
与我相关
我的任务
分享
public class MyClass1 {}
public class MyClass2 {}
public class TestClass {
public MyClass1 my1 {get; set;}
public List<MyClass2> myList2 {get; set;}
}
public bool Func(Object obj)
{
Type t = obj.GetType();
PropertyInfo[] properties = t.GetProperties();
foreach (PropertyInfo p in properties)
{
var objPropertyValue = p.GetValue(obj, null);
if (objPropertyValue != null)
{
Type pType = objPropertyValue.GetType();
string pTypeName = pType.FullName;
//生成一个该属性的实例
object objProperty = pType.Assembly.CreateInstance(pTypeName);
//当这个实例是MyClass1的时候好办,直接转成MyClass1即可
//如果是List<T>的时候就不知道怎么转换成一个List<MyClass2>的实例了。。。
}
}
}
string typeName = "EndToEndBlueprintRoot";
List<typeName> ll = new List<typeName>();