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