【问题标题】:Inheriting 2 classes in C# - how to handle this在 C# 中继承 2 个类 - 如何处理这个问题
【发布时间】:2010-11-15 11:47:51
【问题描述】:

我需要继承 2 个类(第 3 方类)。

(class1) - System.Web.UI.MobileControls.MobileUserControl  
(class2) - PortalModuleBase

我有一个用户控件...通常我继承“PortalModuleBase”类,但这次我还需要在我的用户控件(.ASCX)中继承“System.Web.UI.MobileControls.MobileUserControl”。

我在this 中读到了关于使用接口进行多重继承的文章,当您使用 Google 搜索时结果相同,但我认为这并不能解决我的问题....

我读过,这在 C# 中是不可能的......

但是如何解决这个问题?

谢谢,

它是 VS2008 -ASP.NET

【问题讨论】:

  • 您提供的文章描述了解决方法。
  • .NET 不支持多重继承。解决方法是使用接口。你说使用接口不能解决问题是什么意思?
  • C# 不支持多重继承的原因是事情变得非常快。比如如何区分什么属性属于哪个类(A、B 或 C)。

标签: asp.net object c#-3.0 oop


【解决方案1】:

.net 不支持多重继承。

【讨论】:

  • @user472092 好吧,您的问题似乎是 想要 从两个类继承。而你不能。因此,您可能想尝试并解释您要实现的目标
  • 好吧...众所周知...当您从母类继承时,您将获得可在子类中使用的属性和函数..因此将class1定义为母类( x:motherlcas) ...我怎样才能获得出现在子类中的属性/函数..我怎样才能获得出现在第二个母类的子类中的函数/属性?
  • @user472092:您仍在描述您想要采取的方法,而不是更大的目标。你需要重新考虑。
【解决方案2】:

.Net 不支持多重继承。您应该考虑使用interfaces 来显式实现常见行为(即MobileUserControl 中存在的行为)。

语言不支持多重继承是有充分理由的,但这确实意味着,在您的情况下,您需要做更多的工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-07
    • 1970-01-01
    • 2012-05-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多