C# 如何使类中的类型安全方法通过MEF共享?

C# 如何使类中的类型安全方法通过MEF共享?,c#,mef,C#,Mef,我有我想通过MEF导出的类。在本例中,它是字符串类型的显示器,但在程序中会有许多特殊类型的显示器。我会做一些重要的事情来获得一个可用显示器的列表,我会从列表中选择一个显示器,用于显示一个给定的对象 我的问题是,如何才能使显示方法类型保存?还是铸入式安全?并且仍然可以通过MEF使用显示器 附言。 使用MEF,我无法创建像IDisplayer这样的界面,因为我将无法获得ImportMany或其他东西 [DisplayableTypes(typeof(String))] 公共类StringObject

我有我想通过MEF导出的类。在本例中,它是字符串类型的显示器,但在程序中会有许多特殊类型的显示器。我会做一些重要的事情来获得一个可用显示器的列表,我会从列表中选择一个显示器,用于显示一个给定的对象

我的问题是,如何才能使显示方法类型保存?还是铸入式安全?并且仍然可以通过MEF使用显示器

附言。 使用MEF,我无法创建像IDisplayer这样的界面,因为我将无法获得ImportMany或其他东西

[DisplayableTypes(typeof(String))]
公共类StringObjectDisplayer:IDisplayer
{
公共空白显示(对象对象显示)
{
var displaybableobject=(string)objectToDisplay;
}
私有类型getAttributeParameters()
{
返回GetType().GetCustomAttributes(typeof(DisplayableTypesAttribute),true);
}
}
公共类DisplayableTypesAttribute:ExportAttribute,IEExportableElement
{
公共可显示类型属性(类型支持类型)
:基本(类型(IDisplayer))
{
SupportedType=SupportedType;
}
公共类型支持的类型{get;private set;}
}
公共接口IDisplayer
{
无效显示(对象对象显示);
}
公共接口IExportableElement
{
类型支持类型{get;}
}

是否要导出开放泛型?如果是这样,您可能想阅读我希望这样做或使强制转换显示方法类型安全。但在这篇文章中,你们并没有提到泛型。但是发现了另一个有用的信息。谢谢。