2016-05-03 12 views
0

この質問のお詫びは、C#を初めて使用していることを示しています。ウィンドウにインターフェイスを追加する方法

public interface IExampleType 
{ 
    void DisplayMessage(); 
} 

は今、私はそのインターフェイスを使用してWPFのプロジェクトを追加したい:

私はインターフェイスを定義するプロジェクトを持っています。 それは私がしたいコンソールのプロジェクトになる必要があります。

public class ExampleType : MarshalByRefObject, IExampleType 
{ 
    public void DisplayMessage() 
    { 
     Console.WriteLine("Message1"); 
    } 
} 

が、私は私のプロジェクトを持っているので、完全なWPFの機能を持つようにしたい:

public partial class MainWindow : Window 
{ 
    public MainWindow() 
    { 
     InitializeComponent(); 
    } 

    public void DisplayMessage() 
    { 
     MessageBox.Show("Message1"); 
    } 
} 

今私は私ができるので、インターフェイスを追加で問題を抱えています

public partial class MainWindow : Window, MarshalByRefObject, IExampleType 

これは複数の反復であるためです。 NOR

public partial class MainWindow : MarshalByRefObject, IExampleType 

私はエラーを取得するので:

Error CS0263 Partial declarations of 'MainWindow' must not specify different base classes

それでは、どのように私は窓から継承し、インターフェイスを遵守プロジェクトを持つことができますか?

ありがとう

+6

なぜ 'MainWindow'は' MarshalByRefObject'から継承していますか? –

+5

問題はインターフェイスではなく、クラスであるMarshalByRefObjectです.1つのクラスと複数のインターフェイスが存在する間は、複数の継承を行うことができます。 – Gusman

+0

問題を解決していただきありがとうございます – Luca

答えて

1

問題は、それはあなたがクラスの多重継承を持つことができないという事実だインタフェースではありません。 MainWindowにMarshalByRefObjectとWindowを継承させることはできません。物語の道徳は、1つのクラス(MainWindowの場合、これはウィンドウまたはウィンドウを継承するクラス)と任意の数のインターフェースを継承することができるということです。

関連する問題