C# 将类型对象与强类型方法一起使用

C# 将类型对象与强类型方法一起使用,c#,reflection,strong-typing,C#,Reflection,Strong Typing,我甚至不确定这是否可能,但这是我面临的问题 基本上我有一个强类型方法,如下所示 ConsoleHelper.Start<T>() where T:IService 然后将该类型与上面定义的强类型方法一起使用。这可能吗?当然可以,您可以使用 var startMethod = typeof(ConsoleHelper).GetMethod("Start"); // Equivalent of Start<SomeType> var typedStartMethod =

我甚至不确定这是否可能,但这是我面临的问题

基本上我有一个强类型方法,如下所示

ConsoleHelper.Start<T>() where T:IService
然后将该类型与上面定义的强类型方法一起使用。这可能吗?

当然可以,您可以使用

var startMethod = typeof(ConsoleHelper).GetMethod("Start");

// Equivalent of Start<SomeType>
var typedStartMethod = startMethod.MakeGenericMethod(typeof(SomeType));
var startMethod=typeof(ConsoleHelper).GetMethod(“开始”);
//起动当量
var typedStartMethod=startMethod.MakeGenericMethod(typeof(SomeType));
当然,您可以使用

var startMethod = typeof(ConsoleHelper).GetMethod("Start");

// Equivalent of Start<SomeType>
var typedStartMethod = startMethod.MakeGenericMethod(typeof(SomeType));
var startMethod=typeof(ConsoleHelper).GetMethod(“开始”);
//起动当量
var typedStartMethod=startMethod.MakeGenericMethod(typeof(SomeType));

您能否分享一个大的代码片段,展示您将如何处理var类型以及通用类ConsolerHelper.Start()的一部分,其中T:IService是什么?ConsolerHelper实际上是一个托管我的WCF服务的通用控制台应用程序。目前,对于每个WCF服务解决方案,我们都有一个单独的TestHost项目,它基本上做相同的事情。因此,我正在寻找一种将这些TestHost项目整合到单个项目中的方法,此项目将在运行时使用反射加载WCF服务程序集。为什么不在一个进程中启动多个主机?这仅用于开发目的。在PROD环境中,我们将这些服务作为windows服务托管,但是在开发环境中,我们将这些服务作为控制台应用托管,因此是TestHost项目。您是否可以共享一个大型代码片段,以展示您将如何处理var type和通用类ConsolerHelper.Start()的一部分T:IService在哪里?ConsoleHelper实际上是一个托管我的WCF服务的通用控制台应用程序。目前,对于每个WCF服务解决方案,我们都有一个单独的TestHost项目,它基本上做相同的事情。因此,我正在寻找一种将这些TestHost项目整合到单个项目中的方法,此项目将在运行时使用反射加载WCF服务程序集。为什么不在一个进程中启动多个主机?这仅用于开发目的。在PROD环境中,我们将这些服务作为windows服务托管,但是在开发环境中,我们将这些服务作为控制台应用托管,因此是TestHost项目。