Cosa sono le “chiusure” in C #?

Duplicare

Chiusure in .NET

Quali sono le chiusure in C #?

Una chiusura in C # assume la forma di un metodo delegato / anonimo in linea. Una chiusura è collegata al suo metodo genitore, il che significa che le variabili definite nel corpo del metodo del genitore possono essere referenziate dal metodo anonimo. C’è un ottimo post sul blog qui a riguardo.

Esempio

public Person FindById(int id) { return this.Find(delegate(Person p) { return (p.Id == id); }); } 

Puoi anche dare un’occhiata ai blog di Martin Fowler o Jon Skeet . Sono sicuro che sarete in grado di ottenere una ripartizione più “In profondità” da almeno uno di questi ….