当我真的需要从两个类继承时,如何处理CS1721

本文关键字:何处理 CS1721 处理 我真的需要 两个 继承 | 更新日期: 2023-09-27 18:00:37

在我的C#代码中,我想要一个继承自System.MarshalByRefObjectSystem.Security.Principal.GenericIndentity类的CustomIdentity类。

然而,当我尝试编写这样的继承时,C#会反对CS1721错误,说我不能直接从多个类继承。

现在,在这种情况下,很容易克服这一点——我将从IIdentity继承,添加GenericIdentity成员变量,并通过该成员变量重新实现所有IIdentity方法。

但是,如果我想从两个具有大量方法的类中继承,我该怎么办呢?

当我真的需要从两个类继承时,如何处理CS1721

您没有。你不能。

这在C#或中不受支持。NET。

使用多个接口实现,最多使用单个(非object)继承。在大多数情况下,即使是单一继承也被过度使用;p

为了吸收这些方法,您必须使用某种封装。扩展方法提供了一种在类型之间共享方法的方式,以实现完整性。

如您所知,不能从多个类继承。。。实际上,唯一的方法就是照你说的去做,并使用接口。或者将编程语言更改为支持多重继承的语言,但我相信这不会有帮助!