Possiedo un'applicazione in grado di plug-in (MEF). I plugin sono UserControls WPF che importano i servizi.Problema con l'assegnazione di delegati nel ciclo for-
L'utente può selezionare il plugin desiderato dal menu principale dell'applicazione.
Per fare questo, io uso il seguente ciclo:
foreach(IToolPlugin Plugin in ToolPlugins)
{
Plugin.Init();
MenuItem PluginMenuItem = Plugin.MenuItem; //New MenuItem but with Header set.
PluginMenuItem.Click += new RoutedEventHandler(delegate(object o, RoutedEventArgs e) { DoSomething(Plugin.Control);});
PluginsMenu.Items.add(PluginMenuItem);
}
che funziona molto bene per un singolo elemento. Ma non appena ho più di 1 plugin, tutti i menu eseguono il delegato dell'ultimo ciclo. O almeno con il Plugin.Control dell'ultimo ciclo.
Come posso risolvere questo problema?
Grazie per qualsiasi aiuto.
Mi piace vedere i tanti variazioni di questa domanda. – ChaosPandion
@Chaos - in tal caso dovresti votare per chiudere;) – ChrisF