c#在参数中传递方法
比如说我有一个函数:voidfun(parm1,parm2);然后parm2本身也是一个函数,那这个fun要怎么写...
比如说我有一个函数:void fun(parm1, parm2);
然后parm2本身也是一个函数,那这个fun要怎么写 展开
然后parm2本身也是一个函数,那这个fun要怎么写 展开
4个回答
展开全部
用委托就可以了,我用窗体程序做个例子给你
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private delegate void DelegateTest(); // 定义一个委托
private void P()
{
MessageBox.Show("this is a P");
}
private void D(string d,DelegateTest dt) // 第二个参数是上面定义的委托类型,可以绑定方法
{
MessageBox.Show(d);
dt(); // 相当于调用 P();
}
private void Form1_Load(object sender, EventArgs e) //窗体加载事件的处理方法
{
D("this is a D", new DelegateTest(P)); //调用D方法,P绑定到DelegateTest委托上
}
}
如果可以给点分咯
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private delegate void DelegateTest(); // 定义一个委托
private void P()
{
MessageBox.Show("this is a P");
}
private void D(string d,DelegateTest dt) // 第二个参数是上面定义的委托类型,可以绑定方法
{
MessageBox.Show(d);
dt(); // 相当于调用 P();
}
private void Form1_Load(object sender, EventArgs e) //窗体加载事件的处理方法
{
D("this is a D", new DelegateTest(P)); //调用D方法,P绑定到DelegateTest委托上
}
}
如果可以给点分咯
展开全部
回答者所回答的不全对...
sender,顾名思义--发送者,也就是事件的发起者,也就是事件是从哪里发出来的..
比如button_click(sender
,e)事件,如果你把sender作为一个button来使用的话,是完全可以了
一般使用不到,但这是规范.
然后button_click(sender
,e){}
说白了也就是一个方法(函数),它只是一个事件响应时所需要执行的东西,参数与一般方法没什么两样
sender,顾名思义--发送者,也就是事件的发起者,也就是事件是从哪里发出来的..
比如button_click(sender
,e)事件,如果你把sender作为一个button来使用的话,是完全可以了
一般使用不到,但这是规范.
然后button_click(sender
,e){}
说白了也就是一个方法(函数),它只是一个事件响应时所需要执行的东西,参数与一般方法没什么两样
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-02-15
展开全部
那就是涉及到委托了。。。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
说的具体点?
更多追问追答
追问
就是我们一般的函数比如fun1(string a1,int a2)这样,传进去的都是变量,我能不能传个函数进去,让里面的代码调用
追答
函数传函数啊?函数传的都是值?你说的在具体点你想要做什么?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询