我们使用的是一个Silverlight5应用程序的MEF v1。我们真的需要对开放泛型的支持。我不清楚Silverlight 5是否可以做到这一点。
进退两难的是,我知道MEF1不支持开放泛型,但MEF2支持(但MEF2是未发布的软件,仍在预览中,当我下载它时,我看不到任何silverlight .sln文件-不像CodePlex上的MEF1源代码)。我知道MEFContrib确实支持它,但我不确定MEFContrib能否与Silverlight5一起编译。
有没有人设法让开放泛型与Silverlight 5一起工作?
发布于 2013-05-22 03:23:22
回答我自己的问题: 1) MEF v1不支持开放泛型2)在我们的项目中,我们试图使用MefContrib来提供一个开放的泛型实现,但我们遇到了障碍,因为我们在代码中使用了ExportFactory,而MefContrib中的任何工作似乎都没有涵盖这一点。3)我读到了Glenn block (MEF架构师和MefContrib贡献者)的建议,即既使用IoC又使用MEF实际上是一件合理的事情。Glenn's article。这意味着您将使用MEF来提供第三方可发现性,但在发现的代码中使用IoC。
我个人知道Castle和Unity都支持开放泛型。因此,我将建议我的团队采用这两个IoC中的一个,并根据Glenn的文章结合MEF。
https://stackoverflow.com/questions/16577205
复制相似问题