小编Ria*_*ian的帖子

在C#中的接口实现中使用继承的接口

如何实现获取继承接口的函数?我有这些接口:

interface IAnimal
interface IDog : IAnimal
interface ICat : IAnimal

interface IShelter
class DogShelter : IShelter
class CatShelter : IShelter
Run Code Online (Sandbox Code Playgroud)

现在我希望IShelter有一个功能:

Store(IAnimal animal)
Run Code Online (Sandbox Code Playgroud)

但是我希望DogShelter像这样实现它:

Store(IDog animal) 
Run Code Online (Sandbox Code Playgroud)

和CatShelter这样:

Store(ICat animal).
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?除了DogShelter实施Store(IAnmial动物)并检查"if(animal is IDog)"之外?

我应该使用Store(IAnimal animal)然后用(IDog)动物施放它吗?

(我想使用关于IDog和ICat的接口继承.在实际代码中不能进行类继承)(计算时间在这一点上是很重要的.使用Store(IDog动物)而不是检查"if"是否更便宜?动物是IDog)"?还是只是方便?)

c# inheritance interface

4
推荐指数
1
解决办法
82
查看次数

标签 统计

c# ×1

inheritance ×1

interface ×1