加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 是否可以扩展2个类?

发布时间:2020-12-15 06:27:39 所属栏目:百科 来源:网络整理
导读:我有这些课程: public class myClassPage : System.Web.UI.Page{ public myClassPage () { }}public class myClassControl : System.Web.UI.UserControl{ public myClassControl () { }} 我想要另一个类扩展这些类,有些像: public class myClassData : myC
我有这些课程:
public class myClassPage : System.Web.UI.Page
{
    public myClassPage ()
    {

    }
}

public class myClassControl : System.Web.UI.UserControl
{
    public myClassControl ()
    {

    }
}

我想要另一个类扩展这些类,有些像:

public class myClassData : myClassPage,myClassControl
{
    public myClassData ()
    {

    }
}

可能吗?或者我该怎么办?

解决方法

在需要扩展两个类的情况下,您可能会希望通过继承来支持组合,并且可以像其他答案一样使用接口.一个例子:

首先定义你的界面

interface IFoo 
{
    void A(); 
}

interface IBar
{
    void B();
}

然后创建实现每个接口的具体类

class Foo : IFoo
{
    public void A()
    {
         // code
    }
}

class Bar : IBar 
{
    public void B()
    {
         // code 
    }
}

最后,在类中你想展现两组行为,你可以实现每个接口,但是用具体的类组合实现.

public class Baz : IFoo,IBar
{
    IFoo foo = new Foo(); // or inject 
    IBar bar = new Bar(); // or inject

    public void A()
    {
        foo.A();
    }

    public void B()
    {
        bar.B();
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读