在我的C#代码中,我想要一个继承自CustomIdentity
和System.MarshalByRefObject
类的System.Security.Principal.GenericIndentity
类。
但是当我尝试编写这样的继承时,C#会使用CS1721 error对象说我不能直接从多个类继承。
现在在这种情况下,很容易克服这一点 - 我将继承IIdentity
,添加GenericIdentity
成员变量并通过该成员变量重新实现所有IIdentity
方法。
但是,如果我想从两个类继承大量方法,我该怎么做?
你没有。你不能。
C#或.NET不支持。
您使用多个接口实现,并且最多使用单个(非object
)继承。在大多数情况下,甚至单一继承都被大量过度使用; p
要吸收这些方法,你必须使用某种封装。扩展方法还提供了一种在类型之间共享方法的方法,以实现完整性。
如你所知,不能从多个类继承...真正唯一的方法是按照你的说法和使用接口来做。或者将编程语言改为支持多重继承的语言,但我确信这无济于事!