草庐IT

anonymous-delegates

全部标签

c# - 如何将委托(delegate)转换为相同的委托(delegate)?

委托(delegate)的描述有两种:首先,在第三方程序集中:publicdelegatevoidClickMenuItem(objectsender,EventArgse)二、标准:publicdelegatevoidEventHandler(objectsender,EventArgse);我正在尝试编写一个方法,该方法将接收EventHandler类型的参数,并将使用参数ClickMenuItem调用第三方库。如何将ClickMenuItem转换为EventHandler? 最佳答案 幸运的是,这很简单。你可以只写:Click

c# - 如何将委托(delegate)转换为相同的委托(delegate)?

委托(delegate)的描述有两种:首先,在第三方程序集中:publicdelegatevoidClickMenuItem(objectsender,EventArgse)二、标准:publicdelegatevoidEventHandler(objectsender,EventArgse);我正在尝试编写一个方法,该方法将接收EventHandler类型的参数,并将使用参数ClickMenuItem调用第三方库。如何将ClickMenuItem转换为EventHandler? 最佳答案 幸运的是,这很简单。你可以只写:Click

C# 委托(delegate)与事件处理器

我想在发生陷阱时向所有订阅者发送警报消息。我创建的代码使用委托(delegate)方法myDelegatedel运行良好。我的问题是:我想知道使用EventHandler代替委托(delegate)是否更好?在我的例子中,我不确定委托(delegate)和EventHandler之间有什么区别。notify(trapinfot),这就是我在这里获取陷阱信息所做的。但这似乎不是一个好主意。我阅读了一些介绍传递委托(delegate)对象的在线教程类(class);我想知道这是否适合我的情况?我应该怎么做?有什么建议吗?非常感谢:)我的代码:publicclasstrapinfo{publ

C# 委托(delegate)与事件处理器

我想在发生陷阱时向所有订阅者发送警报消息。我创建的代码使用委托(delegate)方法myDelegatedel运行良好。我的问题是:我想知道使用EventHandler代替委托(delegate)是否更好?在我的例子中,我不确定委托(delegate)和EventHandler之间有什么区别。notify(trapinfot),这就是我在这里获取陷阱信息所做的。但这似乎不是一个好主意。我阅读了一些介绍传递委托(delegate)对象的在线教程类(class);我想知道这是否适合我的情况?我应该怎么做?有什么建议吗?非常感谢:)我的代码:publicclasstrapinfo{publ

c# - C# 中的委托(delegate)

我在理解C#中委托(delegate)的工作方式时遇到了一些困难。我有很多代码示例,但我仍然无法正确理解。有人可以用“简单的英语”向我解释一下吗?当然!代码示例会有所帮助,但我认为我需要更多关于其工作原理/原因的描述。编辑:好吧,问题是:委托(delegate)为什么要工作?整个过程的“流程图”是什么?使用委托(delegate)的先决条件是什么?我希望这能让问题更清楚。 最佳答案 思考委托(delegate)的一种方式就像是对函数的引用。例如,假设您在窗口中有一个按钮,并且您希望在单击该按钮时发生某些事情。您可以将委托(deleg

c# - C# 中的委托(delegate)

我在理解C#中委托(delegate)的工作方式时遇到了一些困难。我有很多代码示例,但我仍然无法正确理解。有人可以用“简单的英语”向我解释一下吗?当然!代码示例会有所帮助,但我认为我需要更多关于其工作原理/原因的描述。编辑:好吧,问题是:委托(delegate)为什么要工作?整个过程的“流程图”是什么?使用委托(delegate)的先决条件是什么?我希望这能让问题更清楚。 最佳答案 思考委托(delegate)的一种方式就像是对函数的引用。例如,假设您在窗口中有一个按钮,并且您希望在单击该按钮时发生某些事情。您可以将委托(deleg

C# - 我怎样才能 "overload"委托(delegate)?

首先,我阅读了一些论坛和MSDN中的帮助,它们都说代理不能重载。现在,我想要这样的东西:publicdelegatevoidOneDelegate();publicdelegatevoidOneDelegate(paramsobject[]a);publicvoidDoNothing(paramsobject[]a){}publicvoidDoSomething(){/*dosomething*/}privateOneDelegatesomeFunction;someFunction=newOneDelegate(DoSomething);someFunction=newOneDele

C# - 我怎样才能 "overload"委托(delegate)?

首先,我阅读了一些论坛和MSDN中的帮助,它们都说代理不能重载。现在,我想要这样的东西:publicdelegatevoidOneDelegate();publicdelegatevoidOneDelegate(paramsobject[]a);publicvoidDoNothing(paramsobject[]a){}publicvoidDoSomething(){/*dosomething*/}privateOneDelegatesomeFunction;someFunction=newOneDelegate(DoSomething);someFunction=newOneDele

c# - 如果委托(delegate)是不可变的,为什么我可以做 x += y 这样的事情?

阅读C#InDepth,第2版,第2.1.2节关于合并和删除委托(delegate)。小节标题指出“委托(delegate)是不可变的”并且“关于它们的任何内容都不能更改”。不过,在下一段中,它讨论了使用像这样的结构x+=y;其中x和y是兼容委托(delegate)类型的变量。我不是刚刚更改了x吗?或者当我这样做时(即立即)处置x时,不变性部分是否处理? 最佳答案 这就像做:stringx="x";stringy="y";x+=y;字符串也是不可变的。上面的代码没有更改字符串objects-它将x设置为不同的值。您需要区分变量和对象

c# - 如果委托(delegate)是不可变的,为什么我可以做 x += y 这样的事情?

阅读C#InDepth,第2版,第2.1.2节关于合并和删除委托(delegate)。小节标题指出“委托(delegate)是不可变的”并且“关于它们的任何内容都不能更改”。不过,在下一段中,它讨论了使用像这样的结构x+=y;其中x和y是兼容委托(delegate)类型的变量。我不是刚刚更改了x吗?或者当我这样做时(即立即)处置x时,不变性部分是否处理? 最佳答案 这就像做:stringx="x";stringy="y";x+=y;字符串也是不可变的。上面的代码没有更改字符串objects-它将x设置为不同的值。您需要区分变量和对象