我听说有可能使用扩展方法,但我自己也无法弄明白.如果可能的话,我想看一个具体的例子.
谢谢!
为什么大多数编程语言都不支持多继承?
我真的可以使用这个功能来开发不同的应用程序布局吗?
我想在C#中实现这一点
(伪代码)
class A;
class B : A;
class C : A, B;
...
A ac = (A)c;
...
B bc = (B)c;
Run Code Online (Sandbox Code Playgroud)
这可能吗?
可能重复:
C#是否应包含多重继承?
为什么C#不支持多重继承?
public partial class Child: Parent1
{
void MakeParent1Mad();
}
public partial class Child: Parent2
{
void MakeParent2Mad();
}
Run Code Online (Sandbox Code Playgroud) 可能的重复:
C#应该包含多重继承吗?
为什么C#不支持多重继承
为什么C#不支持多继承,而C++支持它,我们必须使用接口实现相同的功能?
可能的重复:
为什么C#不支持多重继承
C#是否包含多重继承?
我喜欢接口支持多继承和类不支持的原因是什么
我已经阅读了解释C#中没有多重继承的问题/答案,我们甚至不需要它,并且它会导致太多问题.
现在,我正在开发一个项目,我不知道如何在没有多重继承的情况下执行操作,而无需重复代码.
这是情况.有一个主页和其他页面继承自主页(主页不继承)的网站.页面和母版页都在执行一些操作:自定义登录,统计,加载用户自定义设置等.目前,解决方案很糟糕,因为这些任务的源代码只是被复制了两次.
主页类继承自Page.另一方面,母版页继承自Masterpage.从逻辑上讲,从公共类继承也很棒,但它是多重继承,所以这是不可能的.
那又怎么办呢?
我想过几种方法,但不喜欢它们:
创建一个独立的类,它将从page/masterpage类中调用.所以,例如,而不是写作bool isDisplayingTips = this.CurrentUser.IsDisplayingTips,我会写bool isDisplayingTips = this.SharedObjects.CurrentUser.IsDisplayingTips.我不喜欢它,因为它写的时间更长.
创建一个"真实的"空的公共母版页,并从中继承主页和母版页.它不仅需要编写更多代码来访问母版页参数,而且还会减慢速度,每次请求都需要额外的母版页.
任何的想法?
c# asp.net master-pages code-duplication multiple-inheritance
c# ×6
.net ×1
asp.net ×1
class ×1
inheritance ×1
interface ×1
master-pages ×1
mixins ×1
oop ×1