Compilerfehler CS0071

Für die explizite Schnittstellenimplementierung eines Ereignisses muss die Syntax für Ereignisaccessoren verwendet werden.

Wenn Sie ein Ereignis, das in einer Schnittstelle deklariert wurde, explizit implementieren, müssen Sie den add-Ereignisaccessor und den remove-Ereignisaccessor manuell bereitstellen. Normalerweise werden diese Accessoren durch den Compiler bereitgestellt.Der Accessorcode kann das Schnittstellenereignis mit einem anderen Ereignis in der Klasse (siehe weiter unten in diesem Thema) oder mit seinem eigenen Delegattyp verbinden.Weitere Informationen finden Sie unter Gewusst wie: Implementieren von Schnittstellenereignissen (C#-Programmierhandbuch).

Beispiel

Im folgenden Beispiel wird CS0071 generiert.

// 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() { }
}