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

本文关键字:实现 接口 基类 派生 | 更新日期: 2023-09-27 18:18:19

我有以下类:

public class ContentService : IContentService

我想做一个BaseService类,并实现一些常见的功能。然而,我还想实现所有的IContentService方法。

我如何修改这一行,使它既实现接口又继承BaseService?

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

public class ContentService: BaseService, IContentService
{
}

你可以添加任意多的接口,列表中最多一个基类。只需使用逗号分隔每个额外的接口。

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

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

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.
}

public class ContentService: BaseService, IContentService

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

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