更新 : 2007 年 11 月
エラー メッセージ
イベントのインターフェイスを明示的に実装するには、イベント アクセサの構文を使用する必要があります。
インターフェイス内で宣言されたイベントを明示的に実装するときは、通常はコンパイラによって提供されるイベント アクセサ (add および remove) を手動で提供する必要があります。アクセサ コードは、インターフェイス イベントをクラス内の別のイベント (このトピックで後述) または固有のデリゲート型に接続できます。詳細については、「方法 : インターフェイス イベントを実装する (C# プログラミング ガイド)」を参照してください。
使用例
次の例では、CS0071 エラーが生成されます。
// CS0071.cs
public delegate void MyEvent(object sender);
interface ITest
{
event MyEvent Clicked;
}
class Test : Itest
{
event MyEvent ITest.Clicked; // CS0071
// try the following code instead
/*
private MyEvent clicked;
event MyEvent Itest.Clicked
{
add
{
clicked += value;
}
remove
{
clicked -= value;
}
}
*/
public static void Main() { }
}