2
在WCF中,通常將接口和實現類放在單獨的程序集中。我正在構建一個基於配置創建WCF代理類的類(無論是從我的web.config中的service或serviceActivations還是從svc文件中的Service屬性中)。在我的課,我希望檢索是從服務類分配的接口 - 在的類和接口是在同一程序的情況下,這是很容易:如何從另一個程序集中檢索類的接口?
Type type = Type.GetType("MyNamespace.MyClass, MyAssembly");
if (type != null)
{
var interfaces =
Assembly.GetAssembly(type)
.GetTypes()
.Where(t => t.IsInterface && t.IsAssignableFrom(type));
}
短期使用一些暴力破解反思解決方案是通過獲取所有程序集(使用CurrentDomain.GetAssemblies())並以這種方式查找接口,是否有規定的方法從不同的(未知)程序集中獲取接口?
此外,我知道使用WCF發現而不是自己做這項工作 - 不幸的是,它不是我的情況下的選項。
我想你應該看看MEF或Unity – 2013-03-15 01:56:28