这是我的代码创建一个接口与基类,而派生类包含自己的实现
class InternalDevice1
{
}
class InternalDevice2
{
}
class SpecificDevice1 : InternalDevice1
{
}
class SpecificDevice2 : InternalDevice2
{
}
class SpecificDevice3 : InternalDevice1
{
}
class SpecificDevice4 : InternalDevice2
{
}
class MyWholeDevice1 : IDevice
{
MyWholeDevice(SpecificDevice1 device1, SpecificDevice2 device2) { }
SpecificDevice1 Device { get; }
}
class MyWholeDevice2 : IDevice
{
MyWholeDevice(SpecificDevice3 device1, SpecificDevice4 device2) { }
SpecificDevice3 Device { get; }
}
interface IDevice
{
InternalDevice1 Device { get; }
}
的问题是,在i设备的返回类型为InternalDevice1(这是比较普遍) ,而我需要的SpecificDevice (这仍然是从InternalDevice dervied) 尝试使用这个时,我遇到了一个问题:
IDevice = new MyWholeDevice ...
如果我理解你的权利,它的派生型。因此,将返回类型转换为SpecificDevice – pavanred 2012-02-26 10:09:34