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

前端之家收集整理的这篇文章主要介绍了c# – 是否可以扩展2个类?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有这些课程:
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();
    }
}

猜你在找的C#相关文章