-6
我有两个派生类。在相同结构但不同类型的对象之间传输数据
public Class A : BaseClass
{
public static somecomplextype Criteria { get; set; }
}
public Class B : BaseClass
{
public static somecomplextype Criteria { get; set; }
}
我只能访问派生类而不是基类。
现在我有另一个类
public Class SomeClass
{
public SomeClass()
{
//I need a logic for the below to happen...
B.Criteria = (B) A.Criteria //throws invalid cast exception
}
}
问题是A.Criteria之间传送数据到B.Criteria ...
由于投抛出异常..
我想知道是否有另一种方式。
不,你不能把'A'的一个子类型投射到'B'的另一个子类型。你可以创建一个构造函数来从子类型'B'的对象中产生一个子类型为'A'的对象,反之亦然,但是我可以发现这种设计的用例很少。确保你知道你在做什么,并问自己(或软件工程/编程SE)**为什么你决定这么做,是否有更好的架构解决方案? –
什么演员?如何解决数据传输问题? – itsme86
如果您希望将它们的实例对待相同,请不要创建两个相同的类型。只需要一种类型即可。 – Servy