I am writing a small plugin architecture and I have decided to use MEF
I have been told that we must use a config file.
Is there any example out there that that uses Mef and a config file?
All I need is how to set up mef in a config file is this possible? This is a small noddy example I have built to test it I am missing the loadPlugin function and config file Can you help
Noddy example
//MyCompany.Payment.Contracts.dll
public interface IPayment
{
bool Pay();
}
//MyCompany.Payment.ServiceProviderOne.dll
[Export(typeof(IPayment))]
public class ServiceProviderOne:IPayment
{
public bool Pay(return true);
}
//MyCompany.Payment.ServiceProviderTwo.dll
[Export(typeof(IPayment))]
public class ServiceProviderTwo:IPayment
{
?public bool Pay(return true);
}
//Main Console.Applicaiton
class Program
{
static void Main(string[] args)
{
HelperPlugin helperPlugin =new HelperPlugin();
List<IPayment> myLoadedPayments= helperPlugin.GetPlugins();
//blahhh conti
}
}
public cass HelperPlugin
{
[ImportMany(typeof(IPayment))]
public List<IPayment>Payments { get; set; }
public List<IPayment>GetPlugins()
{
Payments=new List<IPayment>();
LoadPlugins();
return Payments;
}
private void LoadPlugins()
{
???
}
}
Config File What does it look like?
Thanks for any suggestions or code snippets
I’m working on a similar issue right now and my approach is this:
CompositionContainerwill be configuredDirectoryCatalogfor each directory specified)AssemblyCatalogused for that purposeSo basically, I’m trying to configure the individual catalogs that make up my
AggregateCatalogwhich the composition container will use to find the parts. Not there yet, unfortunately – so this is just in my head for now – no code just yet.