2011-12-19 19 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つの基本クラスを追加できます。カンマを使用して、それぞれの追加インターフェイスを分けるだけです。

基本クラスは、リストの最初の項目である必要はありません。

1

public class ContentService: BaseService, IContentService

BaseServiceを継承し、あなたのIContentServiceインターフェイスを実装します。

基本クラスの抽象クラス/メソッドを参照することもできます。

関連する問題