플러그인 (MEF)을 사용할 수있는 응용 프로그램이 있습니다. 플러그인은 서비스를 가져 오는 WPF UserControls입니다.for 루프에 대리자를 할당 할 때의 문제
사용자는 응용 프로그램의 기본 메뉴에서 원하는 플러그인을 선택할 수 있습니다. 하나의 항목에 대해 매우 잘 작동
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);
}
:
는이 작업을 수행하려면, 나는 다음과 같은 루프를 사용합니다. 그러나 플러그인이 두 개 이상 있으면 모든 menuitem이 마지막 루프의 대리자를 실행합니다. 적어도 마지막 루프의 Plugin.Control을 사용하십시오.
어떻게 해결할 수 있습니까?
도움 주셔서 감사합니다.
나는 많은 것을보고 사랑 이 질문의 변형. – ChaosPandion
@Chaos -이 경우 반드시 투표해야합니다.) – ChrisF