這是我的代碼創建一個接口與基類,而派生類包含自己的實現
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