c# lambda的问题 没什么豆 路过的大侠帮忙看下吧 谢谢!
什么委托:
delegate void obj(string name);
委托对应方法:
void objDelegateMsg(strObj name) { MessageBox.Show("hello"+name); }
调用委托(这里只采用3.5的lambda的方式 朋友们看清楚 别用2.0的 new 产生对象 来调用):
objDelegateMsg(x => x = "name");
这里输不出hello name 在委托对应方法里面 name参数是个function的对象 所以他输的是这个function的对象信息
如果我要输出的值是我调用委托的里面传递的呢? 不知道朋友们看懂了意思没?
注 下面有个方法解决 但是我觉得这样写 就失去了第一个参数lambda的意义。
代码:
delegate void obj(string name);
delegate int obj(T t1,T t2);
delegate string strObj(string name);
void objDelegateMsg(strObj name, string str)
{
MessageBox.Show("hello"+name(str));
}
string strObj(string str)
{
return str;
}
//调用
objDelegateMsg(x => x = "name","NAME");
撒科打诨
浏览 521回答 1
打开App,查看更多内容