C# 创建具有动态动作参数的方法

C# 创建具有动态动作参数的方法,c#,C#,嗨,有没有办法创建一个可以接受任何类型方法的方法?我的意思是它有任何类型的参数,或者它有多少个参数 void SampleMethod(Action<dynamic> Action) { } 但它似乎只接受没有参数的方法 我做错了吗?我想你们要找的是代表 static void A1() { Console.Out.WriteLine("A1"); } static void A2(int foo) { Console.Out.WriteLine("A2"); } st

嗨,有没有办法创建一个可以接受任何类型方法的方法?我的意思是它有任何类型的参数,或者它有多少个参数

void SampleMethod(Action<dynamic> Action)
{
}
但它似乎只接受没有参数的方法 我做错了吗?

我想你们要找的是代表

static void A1() {
  Console.Out.WriteLine("A1");
}

static void A2(int foo) {
  Console.Out.WriteLine("A2");
}

static void SampleMethod(Delegate dlgt) {
}
用法:

SampleMethod(new Action(A1));
SampleMethod(new Action<int>(A2));
我认为你要找的是代表

static void A1() {
  Console.Out.WriteLine("A1");
}

static void A2(int foo) {
  Console.Out.WriteLine("A2");
}

static void SampleMethod(Delegate dlgt) {
}
用法:

SampleMethod(new Action(A1));
SampleMethod(new Action<int>(A2));
深思熟虑,

    SampleMethod(this.GetType().GetMethod("WriteHello"), "Hello");

    public void WriteHello(string param)
    {
        Debug.WriteLine(param);
    }

    public void SampleMethod(MethodInfo mi, params object[] arguments)
    {
        mi.Invoke(this,arguments);           
    }
深思熟虑,

    SampleMethod(this.GetType().GetMethod("WriteHello"), "Hello");

    public void WriteHello(string param)
    {
        Debug.WriteLine(param);
    }

    public void SampleMethod(MethodInfo mi, params object[] arguments)
    {
        mi.Invoke(this,arguments);           
    }

你想用这个方法做什么?在不知道它得到了多少个参数以及它们是什么类型的情况下,您将如何调用它?您想对该方法做什么?在不知道它有多少个参数以及它们是什么类型的情况下,您将如何调用它?顺便说一句,我们可以通过更多的反射来扩展这种方法。但我认为如果我们将设置方法参数。我们应该先了解他们。因此,找出那些善良的情人是没有意义的。我只是根据我对问题的理解来回答。顺便说一句,我们可以通过更多的思考来扩展这种方法。但我认为如果我们将设置方法参数。我们应该先了解他们。因此,找出那些善良的情人是没有意义的。我只是根据我对问题的理解来回答。