Описание тега mef
MEF предоставляет механизмы для обнаружения и составления модульных компонентных частей, позволяя простой механизм расширения для приложений.NET 4.0/Silverlight 4.0. За счет использованияExportProvider
абстракции, MEF может легко обнаруживать и управлять экземплярами вашего Export
ed, которые легко позволяют вам связываться с различными точками расширения в вашем приложении.
Пример 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 для возможных ответов, прежде чем публиковать вопросы.