接口 - 在基类中定义的属性

Ily*_*ski 1 c# oop

我可以保证从我的ICharacter接口派生的所有类也将继承MonoBehaviour类.该MonoBehaviour类有一个属性变换.

但是以下显然会失败,因为接口没有实现transform属性:

ICharacter character;
var t = character.transform;
Run Code Online (Sandbox Code Playgroud)

是否有可能完成上述工作,而不会创建另一个将继承MonoBehaviour的父类(即MyCharacter:Character:MonoBehaviour)?我尝试将一个transform属性添加到接口,但它然后隐藏了父类的属性.

基本上我需要以某种方式使用接口调用基类的属性.

为我的角色创建基类似乎是可行的,但我无法保证可以从同一个Character类继承所有这些类.但是,所有这些都将100%从MonoBehaviour类继承.

Ser*_*rvy 8

如果您希望所有ICharacter类型都有transform成员,则应该在界面中.

当类型实现接口并且基类具有合适的成员时,该成员不需要重新实现; 基类成员可以绑定到接口.

此外,如果需要提供仅通过接口公开的实现,则可以显式实现接口.