我有两个派生自相互类 A 的类,其中包含一些属性(主要是字符串和整数)。B 类是包含附加属性的不同类。更确切地说,
public class A1 : A {
private B _bee;
public B Bee {
get { return _bee;}
set { _bee = value;}
}
}
public class A2 : A {
private List<B> _beeList;
public List<B> BeeList {
get { return _beeList;}
set { _beeList = value;}
}
}
现在,给定一个 A1 的实例,我怎样才能使 A2 的实例包含相同的信息(即“A”部分的属性和“B”的实例)。我尝试了以下方法 - 我希望它可以工作,但知道它不会...... - (让我用'一个'和'两个'来调用我的 A1 和 A2 实例):
A _a = (A)one; // This obv works
B _b = one.Bee;
A2 _a2 = (A2)_a; // Threw away the Bee - information, so should work imo
_a2.BeeList.Add(_b);
那么如何在不手动填充 A 中的所有属性的情况下做到这一点呢?