Lors de l'ajout d'une nouvelle vue fortement typé dans ASP.NET MVC, ces classes étranges apparaissent:
alt text http://i39.tinypic.com/ixa1yh.jpg
Que sont-ils?
Lors de l'ajout d'une nouvelle vue fortement typé dans ASP.NET MVC, ces classes étranges apparaissent:
alt text http://i39.tinypic.com/ixa1yh.jpg
Que sont-ils?
Ce sont des classes générées par le compilateur qui gèrent closures. Ils ne sont pas uniques à ASP.NET MVC.
Cette classe provoquera le compilateur de générer une de ces classes:
public class Foo
{
private bool _bar = true;
public Func<bool> HelloClosure()
{
return() => _bar;
}
}
Quand quelqu'un en dehors de Foo appelle HelloClosure, ils reviennent une fonction qui a un lien vers cette instance particulière Foo. Imaginez que nous n'exécutons pas cette fonction immédiatement et que le GC arrive et recueille Foo. Maintenant, que se passe-t-il lorsque nous exécutons la fonction? Ces classes générées automatiquement gèrent ces dépendances entre les fonctions et les instances de sorte que nous n'entrons pas dans une situation comme celle-ci.
Sournois! Merci pour une bonne explication. :) – Kjensen