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

问题描述 投票:4回答:2

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

但是当我尝试编写这样的继承时,C#会使用CS1721 error对象说我不能直接从多个类继承。

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

但是,如果我想从两个类继承大量方法,我该怎么做?

c# .net inheritance multiple-inheritance
2个回答
3
投票

你没有。你不能。

C#或.NET不支持。

您使用多个接口实现,并且最多使用单个(非object)继承。在大多数情况下,甚至单一继承都被大量过度使用; p

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


2
投票

如你所知,不能从多个类继承...真正唯一的方法是按照你的说法和使用接口来做。或者将编程语言改为支持多重继承的语言,但我确信这无济于事!

© www.soinside.com 2019 - 2024. All rights reserved.