Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Class 转换为扩展类_Class - Fatal编程技术网

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