c# - 如何在没有任何参数和任何返回值的情况下通过反射调用某些方法?

标签 c# .net reflection

如何在没有参数和返回值的情况下通过反射调用某个方法?

这是 MSDN sample

// Define a class with a generic method.
public class Example
{
    public static void Generic<T>()
    {
        Console.WriteLine("\r\nHere it is: {0}", "DONE");
    }
}

那么 typeof(???) 中应该包含什么?

MethodInfo miConstructed = mi.MakeGenericMethod(typeof(???));

谢谢!!!

最佳答案

如果您通过 C# 调用它,则需要提供一个类型,例如:

Example.Generic<int>();

该要求不会改变;简单地说,那一行会变成:

mi.MakeGenericMethod(typeof(int)).Invoke(null, null);

要获得完整的工作图:

class Example
{
    public static void Generic<T>()
    {
        System.Console.WriteLine("\r\nHere it is: {0}", "DONE");
    }
    static void Main()
    {
        var mi = typeof (Example).GetMethod("Generic");
        mi.MakeGenericMethod(typeof(int)).Invoke(null, null);
    }
}

关于c# - 如何在没有任何参数和任何返回值的情况下通过反射调用某些方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8416534/

相关文章:

c# - 我们如何让 DynamicData 与 EFPocoAdapter 一起工作?

c# - PureAttribute 对参数的用途

C# 创建通用 Vector4 类?

php - 获取调用函数参数

java - java中使用泛型类型代替反射来创建实例

c# - 如何反序列化其中包含无效字段名称的 JSON 对象

c# - 用于 FTP 的文件系统观察器

.net - 关于正则表达式中的组匹配的问题

c# - 无法加载文件或程序集 'Newtonsoft.Json'

c# - 按名称创建和传递参数