![]() |
1
8
匿名委托的目的是通过在另一个方法中定义简单委托的内联行为来帮助您提高代码的可读性。这意味着,如果您正在处理需要委托的事情(例如,事件处理程序),您可以在代码中正确定义行为,而不是为其创建专用函数。
此外,它们是lambda表达式的前身。像LINQ to Objects(操作
或者你也可以通过匿名委托来完成:
不过,必须认识到lambda和匿名委托只是编译器的特性。在编译代码时,它 实际上像上一个例子一样创建常规函数,但是它们是隐藏的,并且使用在所用语言中非法的字符命名。在执行闭包之类的操作(访问lambda/anonymous委托声明之外的变量)时,也有很多逻辑围绕着它们。 |
![]() |
2
1
这样做的好处是,您不必在其他地方查找代码来执行一次性查找/更改/计算/诸如此类的操作。必须添加一个函数(或一个函数的整个其他类)有点烦人你只能在一个地方使用,然后你必须回头看看那一段代码是什么,为什么需要它,它是否仍然是。 对于匿名委托,代码就在使用它的代码中。 |