Birkaç eklentiyi içe aktaran bir uygulama oluşturuyorum. Eklentilerin her birinde uygulanan işlevleri yürütme yeteneğine ihtiyacım var. Mesela böyle bir şey yapmalıyım.Fonksiyonlar nasıl dışa aktarılır ve içe aktarılır ve MEF ile nasıl uygulanır?
/////////////////////////////////////////////////////////////////////////////////
MainApp:
[ImportMany(?)]
public IEnumerable<Lazy<?>> PluginFunctions1 { get; set; }
[ImportMany(?)]
public IEnumerable<Lazy<?>> PluginFunctions2 { get; set; }
foreach (f1 in PluginFunctions1)
{
f1(); // execute Function1 from each plugin
}
foreach (f2 in PluginFunctions2)
{
string result = f2(val); // execute Function2 from each plugin
}
/////////////////////////////////////////////////////////////////////////////////
Plugin:
[export(?)]
public void Function1()
{
}
[export(?)]
public string Function2(string value)
{
return result;
}
/////////////////////////////////////////////////////////////////////////////////
Sorun ithalat & ihracat ve tam olarak nasıl işlevi gerçekleştirmek için nasıl tanımlanacağı emin değilim olmasıdır.
? '[ImportMany (" FunctionType ")]' – mnn
@mnn Teşekkürler, kodu güncelledim –