Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Aggiornamento: novembre 2007
Messaggio di errore
Per l'implementazione esplicita dell'interfaccia di un evento è necessario utilizzare la sintassi della funzione di accesso agli eventi
An explicit interface implementation of an event must use event accessor syntax
Quando si implementa in modo esplicito un evento dichiarato in un'interfaccia, è necessario indicare manualmente le funzioni di accesso agli eventi add e remove che sono in genere fornite dal compilatore. Il codice della funzione di accesso può connettere l'evento dell'interfaccia a un altro evento nella classe (illustrato di seguito) o al corrispondente tipo delegato. Per ulteriori informazioni, vedere Procedura: implementare gli eventi di interfaccia (Guida per programmatori C#).
Esempio
Il seguente codice di esempio genera l'errore 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() { }
}