![]() |
1
1
不,不会的,没事的。 但是为了避免每次都创建委托,您可以使用 existing (如果您的方法接受2个字符串参数,但尚未返回):
|
![]() |
2
2
|
![]() |
3
2
另一种“模式”(如果可以调用它的话)是让方法简单地调用自己,假设它是
这个
|
![]() |
4
0
首先,C是一种托管语言,因此没有内存泄漏。永远。 第二,当你试图优化时,不要把MSDN作为最终的规则。许多代码片段甚至都无法达到MS自己的编码标准(甚至是最基本的编码标准)甚至常识。 第三,行:private _delegateInstance=new myDelegate(mymeto);不创建任何静态的。它创建一个变量,保存从新myDelegate(myMethod)返回的新实例。 最后,使用“new”关键字肯定会在每个调用中创建新的myDelegate对象,并且与您编写的第二个代码片段的行为非常不同,但在某些情况下,这是必需的。 您可能想使用您编写的第二个选项,但实际情况是,您应该花点时间阅读并进一步了解委托和一般的C。 祝你好运,快乐。 |
![]() |
5
0
第一个代码段每次都创建一个委托对象实例。这不会导致任何泄漏,但会增加需要垃圾收集的对象的数量。 第二个代码片段不会每次都创建委托对象,但不可能(假设myMethod是实例方法),因为静态成员不能使用实例成员。 Darin Dimitrov是错误的——他的代码使用了现有的动作委托而不是定制的委托,但是它每次都创建一个动作委托对象(不像你的第二个片段)。 因此,您可以使用以下代码:
|
![]() |
JOO · 使用udpClient从多个IP地址连续接收数据 2 年前 |
![]() |
Futterkiste · 函数比例图 2 年前 |
![]() |
user18789895 · 我应该如何验证WinForms应用程序? 2 年前 |
![]() |
beriscen · 如何使整个链接标签区域可点击? 2 年前 |
![]() |
lpmaxim · 当鼠标光标悬停在按钮上时,背景图像会移动 2 年前 |