【发布时间】:2012-09-07 00:42:23
【问题描述】:
我什至不确定这是否可能,但这是我面临的问题。
基本上我有一个强类型的方法如下
ConsoleHelper.Start<T>() where T:IService
我想要实现的是使用反射动态加载 T,所以类似于
var type = Assembly.Load("assembly").GetType("type");
然后将该类型与上面定义的强类型方法一起使用。这有可能吗?
【问题讨论】:
-
您能否分享一个大型代码 sn-p 来展示您将如何处理 var 类型以及 T : IService 所在的通用类 ConsolerHelper.Start() 的一部分?
-
ConsoleHelper 实际上是托管我的 WCF 服务的通用控制台应用程序。目前,对于每个 WCF 服务解决方案,我们都有一个单独的 TestHost 项目,它基本上做同样的事情。因此,我正在寻找一种将这些 TestHost 项目整合到一个项目中的方法,该项目将在运行时使用反射加载 WCF 服务程序集。
-
为什么不想在一个进程中启动多个主机?
-
这仅用于开发目的。在 PROD 环境中,我们将这些服务托管为 Windows 服务,但在 DEV 环境中,我们将这些服务托管为控制台应用程序,因此是 TestHost 项目。
标签: c# reflection strong-typing