sha*_*oth 5 .net c# inheritance multiple-inheritance
在我的 C# 代码中,我想要一个CustomIdentity继承自System.MarshalByRefObject和System.Security.Principal.GenericIndentity类的类。
但是,当我尝试编写这样的继承时,C# 会以CS1721 错误表示我不能直接从多个类继承。
现在在这种情况下很容易克服这个问题 - 我将继承自IIdentity,添加GenericIdentity成员变量并IIdentity通过该成员变量重新实现所有方法。
但是,如果我想从具有大量方法的两个类继承,我该怎么办?
你不知道。你不能。
C# 或 .NET 不支持这一点。
您使用多个接口实现,最多使用单个(非object)继承。在大多数情况下,即使是单一继承也被严重过度使用;p
要吸收这些方法,您必须使用某种封装。为了完整性,扩展方法还提供了一种在类型之间共享方法的方法。