Class 转换为扩展类
假设我有一个这样的班级:Class 转换为扩展类,class,Class,假设我有一个这样的班级: public class MyClass { public string MyString { get;set; } } public class MyExtender : MyClass { public string MyString2 { get;set; } } 然后我将其扩展如下: public class MyClass { public string MyString { get;set; } } public class M
public class MyClass {
public string MyString { get;set; }
}
public class MyExtender : MyClass {
public string MyString2 { get;set; }
}
然后我将其扩展如下:
public class MyClass {
public string MyString { get;set; }
}
public class MyExtender : MyClass {
public string MyString2 { get;set; }
}
如何将MyClass转换为扩展的MyClass,我尝试了:
item = (MyExtender)classitem;
但是这不起作用。最后,我没有找到转换它的方法,而是找到了将所有属性复制到扩展类的方法:
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);
}