使用具有类的合格名称的字符串调用通用模棱两可的方法

努诺布

假设我有一个第三方类Foo,其签名如下:

void Execute<T>();
void Execute(string[] args);

而不是打电话

Execute<Bar>();

我需要使用Bar类的限定名称来调用泛型方法。例子:

Type barType = Type.GetType("Program.Bar");
Execute<barType>();

我已经尝试过在其他线程上找到的一些答案,但是所有这些都给我带来了问题。例如,我不能使用GetMethod(“ Execute”),因为它抛出了一个模棱两可的专有名词。

您可以这样运行它:

class A 
{
    public void Execute<T>() { }
    public void Execute(string[] args) { }
}

var method = typeof(A).GetMethods().FirstOrDefault(
    m => m.Name == "Execute" 
    && !m.GetParameters().Any()
    && m.GetGenericArguments().Count() == 1
    );

Type barType = Type.GetType("Program.Bar");

method.MakeGenericMethod(barType).Invoke();

您可以更改FirstOrDefaultFirst也可以添加一些错误处理(如果需要的话null)(取决于您的用例)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

具有非恒定大小的字符串数组的模棱两可的编译?

来自分类Dev

具有Action <T>参数重载的模棱两可的方法调用

来自分类Dev

具有Action <T>参数重载的模棱两可的方法调用

来自分类Dev

重新定义且模棱两可的函数调用具有数组参数

来自分类Dev

父类的私有函数导致子类中具有相同名称和相似参数的公共函数模棱两可的调用

来自分类Dev

通用方法,获得模棱两可的调用错误

来自分类Dev

对继承的模板方法的模棱两可的调用

来自分类Dev

对于具有==运算符的多个覆盖的类,空检查是模棱两可的

来自分类Dev

.ctor模棱两可,因为类中存在多种使用此名称的成员

来自分类Dev

模棱两可的varargs方法

来自分类Dev

附加使用模棱两可?

来自分类Dev

在DbSet <T>上使用LINQ扩展方法时模棱两可的调用

来自分类Dev

重载采用通用类型的方法会导致模棱两可的方法调用编译错误

来自分类Dev

为什么nameof()在Linq表达式中给出模棱两可的调用警告,但当我使用与字符串相同的值时却不给出警告?

来自分类Dev

错误:对重载函数的模棱两可的调用

来自分类Dev

模棱两可的调用IQueryable或IEnumerable

来自分类Dev

对context.Object.Include的模棱两可的调用

来自分类Dev

多继承模棱两可的基类

来自分类Dev

C ++临时类实例模棱两可

来自分类Dev

枚举类模棱两可的继承

来自分类Dev

在将重载与类型提升配合使用时,为什么方法调用是模棱两可的?

来自分类Dev

解决具有垂直模棱两可约束的TextView

来自分类Dev

带有自己的类和std :: string_view的'operator =='的模棱两可的重载

来自分类Dev

Java中用Lambda进行模棱两可的方法调用

来自分类Dev

为什么编译器会给出模棱两可的方法调用错误?

来自分类Dev

编译时错误:调用重载方法时模棱两可。为什么?

来自分类Dev

泛型方法的调用是模棱两可的错误

来自分类Dev

调用是模棱两可的-相同签名,单个方法

来自分类Dev

编译时错误:调用重载方法时模棱两可。为什么?

Related 相关文章

  1. 1

    具有非恒定大小的字符串数组的模棱两可的编译?

  2. 2

    具有Action <T>参数重载的模棱两可的方法调用

  3. 3

    具有Action <T>参数重载的模棱两可的方法调用

  4. 4

    重新定义且模棱两可的函数调用具有数组参数

  5. 5

    父类的私有函数导致子类中具有相同名称和相似参数的公共函数模棱两可的调用

  6. 6

    通用方法,获得模棱两可的调用错误

  7. 7

    对继承的模板方法的模棱两可的调用

  8. 8

    对于具有==运算符的多个覆盖的类,空检查是模棱两可的

  9. 9

    .ctor模棱两可,因为类中存在多种使用此名称的成员

  10. 10

    模棱两可的varargs方法

  11. 11

    附加使用模棱两可?

  12. 12

    在DbSet <T>上使用LINQ扩展方法时模棱两可的调用

  13. 13

    重载采用通用类型的方法会导致模棱两可的方法调用编译错误

  14. 14

    为什么nameof()在Linq表达式中给出模棱两可的调用警告,但当我使用与字符串相同的值时却不给出警告?

  15. 15

    错误:对重载函数的模棱两可的调用

  16. 16

    模棱两可的调用IQueryable或IEnumerable

  17. 17

    对context.Object.Include的模棱两可的调用

  18. 18

    多继承模棱两可的基类

  19. 19

    C ++临时类实例模棱两可

  20. 20

    枚举类模棱两可的继承

  21. 21

    在将重载与类型提升配合使用时,为什么方法调用是模棱两可的?

  22. 22

    解决具有垂直模棱两可约束的TextView

  23. 23

    带有自己的类和std :: string_view的'operator =='的模棱两可的重载

  24. 24

    Java中用Lambda进行模棱两可的方法调用

  25. 25

    为什么编译器会给出模棱两可的方法调用错误?

  26. 26

    编译时错误:调用重载方法时模棱两可。为什么?

  27. 27

    泛型方法的调用是模棱两可的错误

  28. 28

    调用是模棱两可的-相同签名,单个方法

  29. 29

    编译时错误:调用重载方法时模棱两可。为什么?

热门标签

归档