匿名方法(内嵌方法)
来源:互联网 发布:wine linux 编辑:程序博客网 时间:2024/06/06 09:30
用匿名方法定义委托的语法与前面的定义并没有什么区别。但在实例化委托时,就有区别了。下面是一个非常简单的控制台应用程序,说明了如何使用匿名方法:
namespace ConsoleApplication1
{
class Program
{
delegate string delegateTest(string val);
static void Main(string[] args)
{
string mid = ", middle part,";
delegateTest anonDel = delegate(string param)
{
param += mid;
param += " and this was added to the string.";
return param;
};
Console.WriteLine(anonDel("Start of string"));
}
}
}
委托delegateTest定义为一个类级变量,它带一个字符串参数。有区别的是Main方法。在定义anonDel时,不是传送已知的方法名,而是使用一个简单的代码块:
{
param += mid;
param += " and this was added to the string.";
return param;
};
可以看出,该代码块使用方法级的字符串变量mid,该变量是在匿名方法的外部定义的,并添加到要传送的参数中。接着代码返回该字符串值。在调用委托时,把一个字符串传送为参数,将返回的字符串输出到控制台上。
匿名方法的优点是减少了系统开销。方法仅在由委托使用时才定义。在为事件定义委托时,这是非常显然的。(本章后面探讨事件。)这有助于降低代码的复杂性,尤其是定义了好几个方法时,代码会显得比较简单。
在使用匿名方法时,必须遵循两个规则。在匿名方法中不能使用跳转语句跳到该匿名方法的外部,反之亦然:匿名方法外部的跳转语句不能跳到该匿名方法的内部。
在匿名方法内部不能访问不安全的代码。另外,也不能访问在匿名方法外部使用的ref和out参数。但可以使用在匿名方法外部定义的其他变量。
- 匿名方法(内嵌方法)
- 匿名内部类工厂方法-内部类
- 方法内匿名类的例子
- 匿名内部类常用方法举例
- 访问匿名内部类中的方法
- JAVA匿名内部类的构造方法
- java在方法中的匿名内部类
- java四种内部类(静态内部类,成员内部类,方法内部类,匿名内部类)详解
- java的内隐类之匿名内部类的成员匿名内部类和方法匿名内部类
- 匿名类+匿名方法
- 匿名方法
- 匿名方法
- 匿名方法
- 匿名方法
- 匿名方法
- 匿名方法
- 匿名方法
- 匿名方法
- 用java调用oracle存储过程总结
- 链栈 C语言实现
- java 中一些接口和实现类的区别
- java中log日志的使用(完全版)
- dbutils使用说明。
- 匿名方法(内嵌方法)
- oracle 取出分组中的第一条数据
- tomcat的启动内存设置
- 交换网络中的嗅探和ARP欺骗
- unix c++的socket编程(TCP)
- 关于刷新重复提交的一种解决思路
- 如何将BDS2006中的运行环境更改为简体中文
- iBatis一级缓存的探讨
- JScript 中 eval 实现 VBScript ExecuteGlobal 功能, 函数 fExecuteGlobal by shawl.qiu