将方法名作为参数 如public void getmethod(方法名)对于方法重载的情况下 怎么办 加入重载的方法一个里面有参数 一个里面没有参数这是就没有办法识别调用的到底是哪个方法了! 怎么解决呀
我有一个类中 定义了两个重载方法 一个里面有参数 一个没有参数现在在另一个类中定义一个方法 参数是方法名 也就是调用这个方法 就可以调用类中的方法对于一般的方法调用没有问题但是对于方法重载 就没有办法识别 请问怎样才能调用成功呀?
我有一个类中 定义了两个重载方法 一个里面有参数 一个没有参数现在在另一个类中定义一个方法 参数是方法名 也就是调用这个方法 就可以调用类中的方法对于一般的方法调用没有问题但是对于方法重载 就没有办法识别 请问怎样才能调用成功呀?
{
public delegate void StrDelegate(string i);
public delegate void IntDelegate(int j); //你所说的方法所在的类
public partial class A
{
public static void Function(string str)
{
Console.WriteLine("这是重载方法1");
} public static void Function(int i)
{
Console.WriteLine("这是重载方法2");
} static void Main(string[] args)
{
B b = new B();
b.test(new StrDelegate(Function));
b.test(new IntDelegate(Function));
}
} //要调用那两个方法的类
public class B
{
public void test(StrDelegate str)
{
str("");
}
public void test(IntDelegate i)
{
i(1);
}
}
}
--------------------------------------------------------------
用委托 delegate如果不是一个程序集, 可以用反射解决
"现在在另一个类中定义一个方法 参数是方法名 也就是调用这个方法 就可以调用类中的方法
"了,hoho用这个吧GetMethod(myMethod, new Type[]{System.Int32, System.String});
GetMethod(myMethod, new Type[]{System.Int32});
GetMethod(myMethod, new Type[]{typeof(int)});