Io attualmente avere una pagina che viene dichiarato come segue:Uso delle espressioni lambda per i gestori di eventi
public partial class MyPage : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//snip
MyButton.Click += (o, i) =>
{
//snip
}
}
}
ho solo di recente trasferito a .NET 3.5 da 1.1, quindi sono abituato a scrivere i gestori di eventi al di fuori del Page_Load. La mia domanda è; Ci sono degli inconvenienti o delle insidie nelle prestazioni che dovrei fare attenzione quando uso il metodo lambda per questo? Lo preferisco, in quanto è certamente più conciso, ma non voglio sacrificare le prestazioni per usarlo. Grazie.
Vedo. Quindi non c'è anche nessun inconveniente dall'avere questi gestori all'interno di Page_Load contro averli al di fuori di esso? –
La convenzione prevalente è quella di associare i gestori di eventi nel metodo 'OnInit', ma poiché l'evento' Click' di un pulsante verrà generato dopo che la pagina caricherà questo esempio va bene. –
Importante notare che senza conservare un riferimento al delegato, non è possibile annullare l'iscrizione all'evento. – snarf