问题描述
c#中定义了几个委托,都是带参数的,但是我想传递的时候变成没有参数的,请问可以实现吗,谁能帮我解答一下,如果能给个例子更好了
解决方案
解决方案二:
你再定义一个没有参数的委托吧或者定义成可选参数的委托
解决方案三:
设个默认值?privatedelegatevoidDelegate(stringstr=null);
解决方案四:
还是没明白,能不能再详细点
解决方案五:
把你的代码贴出来,不要只是“求代码”。
解决方案六:
可以使用匿名委托(注意不是Lambda表达式)匿名委托不要求函数签名匹配:button1.Click+=newEventHandler(delegate{MessageBox.Show("hello");});显然这个委托没有参数,而Click需要2个参数。
解决方案七:
不同参数的委托就是不同类型了。我觉得还是从设计上着手避免需要转换的情况。
解决方案八:
delegatevoiddelinvoke(paramsobjectobjs)但是你的函数也要参数定义为paramsobjectobjs
时间: 2024-09-12 23:20:52