Simple Plugin using mef and config file can you help?

Aug 4, 2010 at 8:40 PM
Edited Aug 5, 2010 at 4:38 AM

Hi,

I am new to mef and I am writing a small plugin architecture and 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