lunedì 2 novembre 2009

Eventi, delegati e intefaccie...

E' stato realizzato un nuovo post più accurato con approfondimenti sull'argomento:
How To: Use Event and Delegate C#

Può succedere, per carità lo comprendo bene che prima o poi vi venga in mente di dichiarare un evento in un interfaccia...
certo la qual cosa può far anche arricciare il naso, ma non è una situazione imbroba.

E quasi palese che per prima cosa scirverte..

public interface IMyInterface
{
event MyEvent;
}
e vi suonerà il solito campanello da allarme... vi evito vari altri tentativi .. inutili e dispendiosi.

public interface IMyInterface
{
event EventHandler MyEvent;
}

ma questo tecnicamente vi costringe ad usare un Event Handler "SUO" e non vostro ...
e quando tornerete alla vostra bella classe scoprirete che quanto avrete scritto a poco vi serve.

Supponiamo che quanto vi è necessario sia un Messaggio d'errore ..

public delegate void IOnError(string Error);

public interface IMyInterface
{
event IOnError OnError();
}

public class MyClass:IMyInterface
{
public event IOnError OnError;
}

ed in questo modo ottieniamo un evento comodo comodo da ridelegare ad altri ... non male ??

Nessun commento: