これは私のコードです基底クラスとインタフェースを作成
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; }
}
問題は、私はSpecificDeviceを必要としながら、のiDeviceでの戻り値の型は、(より一般的である)InternalDevice1 であるということです(まだInternalDeviceからderviedされている) これを使用しようとすると、私は問題が発生しています:
IDevice = new MyWholeDevice ...
私は右のあなたを理解していれば、そのA派生型を。それで、戻り値の型をSpecificDeviceにキャストしてください – pavanred