界面问题

leo*_*ora 0 c# interface

我有一个名为Foo的对象.现在它实现了IFoo,它有很多属性.

我有一个类只依赖于其中的一些属性所以我创建了IMeasurableFoo(它只有一些属性)

为了避免重复的代码,我现在有IFoo:IMeasurableFoo,因为我将属性移动到IMeasurableFoo

但是从继承的角度来看,这是错误的,因为你有一个从特定接口继承的更通用的接口

关于组织这些抽象的最佳方法的任何想法

例如,如果这些是具体结果:

Bird不会继承FlyingBird(它会反过来)

Ant*_*lev 5

不,它不是"从特定接口继承的更通用的接口".IMeasurableFoo,只有几个属性,是通用接口,而IFoo更具体的,因为它提炼有关的知识IMeasurableFoo.想IList继承自IEnumerable.