如何从基类派生并在C#中实现接口?

时间:2011-12-19 05:19:49

标签: c#

我有以下课程:

public class ContentService : IContentService

我想创建一个BaseService类并在那里实现一些常用功能。但是,我还想实现所有IContentService方法。

如何修改此行,以便它实现接口并从BaseService继承?

3 个答案:

答案 0 :(得分:4)

public class ContentService: BaseService, IContentService
{
}

您可以根据需要添加任意数量的接口,并在列表中添加最多一个基类。只需使用逗号分隔每个附加界面。

基类不需要是列表中的第一项。

答案 1 :(得分:1)

public class ContentService: BaseService, IContentService

将从BaseService继承并实现您的IContentService接口。

您可能还想查找基类的抽象类/方法。

答案 2 :(得分:1)

您可以从基类和接口继承您的类。在基类中实现接口为您提供了不实现所有接口方法的选项。如下例:

interface ITestInterface
{
    void Test();
    string Test2();
}

public class TestBase : ITestInterface
{
    #region ITestInterface Members

    public void Test()
    {
        System.Console.WriteLine("Feed");
    }

    public string Test2()
    {
        return "Feed";
    }

    #endregion
}

public class TestChild : TestBAse, ITestInterface
{
    public void Test()
    {
        System.Console.WriteLine("Feed1");
    }
}

public static void Main(){
    TestChild f = new TestChild();
    f.Test();

    var i = f as ITestInterface;

    i.Test();
    i.Test2();//not implemented in child but called from base.
}