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