2011-12-19 112 views
-1

我有以下类:如何从基类派生并在C#中实现接口?

public class ContentService : IContentService 

我想作一个BaseService类并实现一些常见的功能在那里。不过,我也想实现所有的IContentService方法。

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

回答

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. 
} 
4
public class ContentService: BaseService, IContentService 
{ 
} 

您可以根据需要添加尽可能多的接口,并且最多可以添加一个基类到列表中。只需使用逗号分隔每个额外的界面。

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

1

public class ContentService: BaseService, IContentService

将从BaseService继承和实现IContentService接口。

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

相关问题