转换为扩展类

时间:2012-09-18 09:20:20

标签: class

想象一下,我有一个类似的课程:

public class MyClass {
    public string MyString { get;set; }
}

然后我这样延伸:

public class MyExtender : MyClass {
    public string MyString2 { get;set; }
}

我怎样才能将MyClass转换为扩展的MyClass,我试过了:

item = (MyExtender)classitem;

但这不起作用。

1 个答案:

答案 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);
}