Закрытие в С# принимает форму встроенного делегата /анонимного метода. Замыкание присоединяется к его родительскому методу, что означает, что на переменные, определенные в теле родительского метода, можно ссылаться из анонимного метода. Здесь есть отличный пост в блоге.
пример
public Person FindById(int id)
{
return this.Find(delegate(Person p)
{
return (p.Id == id);
});
}
Вы также можете взглянуть на блоги Мартина Фаулера или Джона Скита. Я уверен, что вы сможете получить более глубокую разбивку по крайней мере от одного из них....