Платформа Managed Extensibility Framework (MEF) упрощает разработку расширяемых и модульных приложений и является стандартным компонентом Microsoft .NET 4.0 и Silverlight 4.0.

MEF предоставляет механизмы для обнаружения и составления модульных компонентных частей, позволяя простой механизм расширения для приложений.NET 4.0/Silverlight 4.0. За счет использованияExportProvider абстракции, MEF может легко обнаруживать и управлять экземплярами вашего Exported, которые легко позволяют вам связываться с различными точками расширения в вашем приложении.

Пример Hello World Используя модель атрибутивного программирования по умолчанию, MEF позволяет вам украсить целевые типы атрибутами, которые определяют определения контрактов для составления части. Например

public interface IMessage
{
  void Display();
}

[Export(typeof(IMessage))]
public class HelloWorldMessage : IMessage
{
  public void Display()
  {
    Console.WriteLine("Hello World");
  }
}

С помощью этой простой реализации я предоставляю экспортное определение моего HelloWorldMessage часть, которую я могу использовать для составления моего потребителя:

public class Display
{
  [Import]
  public IMessage Message { get; set; }

  public void Display()
  {
    Message.Display();
  }
}

Использование интерфейсов (контрактов) таким образом позволяет мне поддерживать независимую реализацию.

Обязательно посетите сайт MEF CodePlex для получения более подробной информации о работе и убедитесь, что вы выполнили поиск по stackru для возможных ответов, прежде чем публиковать вопросы.