当我真的需要从两个类继承时,如何处理CS1721
本文关键字:何处理 CS1721 处理 我真的需要 两个 继承 | 更新日期: 2023-09-27 18:00:37
在我的C#代码中,我想要一个继承自System.MarshalByRefObject
和System.Security.Principal.GenericIndentity
类的CustomIdentity
类。
然而,当我尝试编写这样的继承时,C#会反对CS1721错误,说我不能直接从多个类继承。
现在,在这种情况下,很容易克服这一点——我将从IIdentity
继承,添加GenericIdentity
成员变量,并通过该成员变量重新实现所有IIdentity
方法。
但是,如果我想从两个具有大量方法的类中继承,我该怎么办呢?
您没有。你不能。
这在C#或中不受支持。NET。
使用多个接口实现,最多使用单个(非object
)继承。在大多数情况下,即使是单一继承也被过度使用;p
为了吸收这些方法,您必须使用某种封装。扩展方法也提供了一种在类型之间共享方法的方式,以实现完整性。
如您所知,不能从多个类继承。。。实际上,唯一的方法就是照你说的去做,并使用接口。或者将编程语言更改为支持多重继承的语言,但我相信这不会有帮助!