想象一下,我有一个类似的课程:
public class MyClass {
public string MyString { get;set; }
}
然后我这样延伸:
public class MyExtender : MyClass {
public string MyString2 { get;set; }
}
我怎样才能将MyClass转换为扩展的MyClass,我试过了:
item = (MyExtender)classitem;
但这不起作用。
答案 0 :(得分:1)
最后,我发现了一种将所有属性复制到扩展类的方法,而不是找到转换它的方法:
MyClass orig = GetItem(x);
MyExtender copy = new MyExtender();
PropertyInfo[] infos = typeof(MyClass).GetProperties();
foreach (PropertyInfo info in infos)
{
info.SetValue(copy, info.GetValue(orig, null), null);
}