2010-11-15 28 views
1

我需要继承2个类(第三方类)。在C#中继承2个类 - 如何处理这个

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

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

this一篇关于用接口,当你的Goolge,但我认为这并没有解决我的问题是相同的结果多重继承....

读我读,它不可能在C#.. 。

但是如何解决这个问题?

感谢,

这是VS2008 -ASP.NET

+0

您提供的文章介绍了解决方法。 – 2010-11-15 11:54:35

+0

.NET不支持多继承。解决方法是使用接口。当你说使用Interfaces时,你的意思是不能解决问题? – pavanred 2010-11-15 11:57:10

+0

C#不支持多继承的原因是因为事情变得非常快而令人困惑。就像怎样区分哪些属性属于什么类(A,B或C)。 – 2011-04-23 02:39:04

回答

0

多重继承在.net中不被支持。

+0

好的...谢谢,但如何解决上述问题.... – ethem 2010-11-15 11:54:44

+1

@ user472092那么,你的问题似乎是**要**从两个类继承。而你不能。所以你可能想尝试解释你想要达到的目标。 – 2010-11-15 11:59:12

+0

好吧......大家都知道......当你从母类继承时,你可以得到属性和子类中可以使用的函数..所以将class1定义为母类(x:motherlcass)...我怎样才能得到在子类中出现的属性/函数?我怎样才能得到出现在2nde母类的子类中的函数/属性? – ethem 2010-11-15 12:04:06

0

.Net不支持多重继承。您应该看看使用interfaces来明确实现常见行为(即,存在于MobileUserControl中的行为)。

语言不支持多重继承有很好的理由,但它确实意味着,在你的情况下,你将需要做更多的工作。

1

看一看this article。它描述了一种方式,但使用起来不舒服。

+0

确实,这看起来很不舒服,至少对我来说......整个想法是我只是想要一个简单的inhertitance,换句话说,功能和属性应该可用/也可以在子类中重写。 – ethem 2010-11-15 12:12:33