[.NET] BindingSource, Dispose et Events

Coucou les gens,

Bon, j’ai un problème un peu louche, j’ai rien trouvé sur le l’internet interactif multimédia, donc à défaut, je poste là…

J’ai un dialogue (en WinForms) avec un UserControl qui possède une BindingSource pour databinder des controles à 2 balles classiques (wouahou, elle déchire cette phrase). Tout se passe bien, c’est la fête… jusqu’à ce que je ferme l’application. Là, il execute le dispose de mon controle, gentiment écrit par le designer de VS. Et j’ai droit à une unhandled exception.

L’exception me dit que le système ne peut pas converter un System.EventHandler en System.EventHandler. Euh, ouais, bon, soit. Comme ça parle d’un type à moi, qui justement est utilisé par mon datasource, je me dis qu’il doit balancer des events pendant son dispose, et que ça chie… meuh non. L’évènement (j’en ai qu’un seul, en plus) n’est pas du tout lancé. Il doit essayer de scanner le type pour je ne sais quoi…

Bref, quand je remplace mon joli EventHandler générique par un EventHandler normal, ça marche (sauf que FxCop me dit que je devrais plutot utiliser la version generique!). Quand je remets le generique, ça gaufre. Dans les 2 cas, l’évènement n’est pas du tout utilisé, lancé, ou rien.

Des idées?

Notez que pour l’instant, et comme je veux surtout pas froisser FxCop, j’ai gardé la version générique, mais j’ai commenté le bout de code du Dispose où ça gauffre, nominément le bout de code qui lance Dispose sur le IContainer nommé “components”, qui est systématiquement créé par le designer, et qui, pour l’instant, ne contient qu’un seul élément : mon BindingSource.

Edit: en fait, c’est le BindingSource qui chie. Si j’essaie juste de mettre son DataSource à null (pour virer mon datasource), ça fait le même vautrage… Mmmmh…