将typeof与泛型方法一起使用

时间:2019-05-08 20:33:50

标签: c# generics

我希望能够将类型传递给只知道类型名称的通用方法。

我想做类似以下的事情,但出现错误。

var type = typeof(name);
var result = MyGenericMethod<type>();

这可能吗?

当前我正在执行switch语句,但这并不理想,因为每次需要添加新类时都需要更新。

switch (name)
{
    case "TypeName1":
        result = MyGenericMethod<TypeName1>();
        break;
    case "TypeName2":
        result = MyGenericMethod<TypeName2>();
        break;
    ...
}

1 个答案:

答案 0 :(得分:-1)

据我所知,这部分

var type = typeof(name);
var result = MyGenericMethod<type>();

是不可能的。

也许您可以描述要达到的目标,但是有可能找到解决问题的方法。