Compilerfehler CS0071Compiler Error CS0071

Eine explizite Schnittstellenimplementierung eines Ereignisses muss Ereignisaccessorsyntax verwenden.An explicit interface implementation of an event must use event accessor syntax

Wenn Sie ein Ereignis explizit implementieren, das in einer Schnittstelle deklariert wurde, müssen Sie die Ereignisaccessoren add und remove manuell angeben, die normalerweise vom Compiler bereitgestellt werden.When explicitly implementing an event that was declared in an interface, you must use manually provide the add and remove event accessors that are typically provided by the compiler. Der Accessorecode kann das Schnittstellenereignis mit anderen Ereignissen in Ihrer Klasse verbinden (wie weiter unten in diesem Artikel gezeigt), oder mit seinem eigenen Delegattyp.The accessor code can connect the interface event to another event in your class (shown later in this topic), or to its own delegate type. Weitere Informationen finden Sie unter Vorgehensweise: Implementieren von Schnittstellenereignissen.For more information, see How to: Implement Interface Events.

BeispielExample

Im folgenden Beispiel wird CS0071 generiert:The following sample generates 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() { }  
}