在C#中可以使用delegate(委托)来进行传值,样例: namespace CallBackFunction { class Program { static void Main(string[] args) { Program prog = new Program();//在静态函数Main中调用非静态方法时,必须先实例化该类对象,方可调用GetSum方法 SumClass sc = new SumClass();//实例化SumClass类 int result=sc.SumAll(prog.GetSum); Console.WriteLine(result.ToString()); } private int GetSum(int a, int b) { return (a + b); } } class SumClass { public delegate int Sum(int num1, int num2); public int SumAll(Sum sum) { //可以进行些别的操作 return sum(1, 2);//调用传入函数的一个引用 } //可以封装更多的业务逻辑方法 } } 如果还有疑问可以访问:http://www.360doc.com/content/11/0306/22/5391076_98760717.shtml
或者用unsafe定义为 void *
namespace CallBackFunction
{
class Program
{
static void Main(string[] args)
{
Program prog = new Program();//在静态函数Main中调用非静态方法时,必须先实例化该类对象,方可调用GetSum方法
SumClass sc = new SumClass();//实例化SumClass类
int result=sc.SumAll(prog.GetSum);
Console.WriteLine(result.ToString());
} private int GetSum(int a, int b)
{
return (a + b);
}
} class SumClass
{
public delegate int Sum(int num1, int num2);
public int SumAll(Sum sum)
{
//可以进行些别的操作
return sum(1, 2);//调用传入函数的一个引用
}
//可以封装更多的业务逻辑方法
}
}
如果还有疑问可以访问:http://www.360doc.com/content/11/0306/22/5391076_98760717.shtml