this.Password.PasswordChanged += (g, e) => 谁能解释下

来源:百度知道 编辑:UC知道 时间:2024/07/12 02:24:29
this.Password.PasswordChanged += (g, e) =>这句话中的(g,e)是什么意思,还有 => 这个符号起到什么作用..
具体程序如下..
this.Password.PasswordChanged += (g, e) =>
{
if (!System.Text.RegularExpressions.Regex.IsMatch((g as PasswordBox).Password, @"\S+"))
ValidatorPassword.ErrorMsg = "Requird";
else if ((g as PasswordBox).Password.Length > 25)
ValidatorPassword.ErrorMsg = "< 25 words";
else
ValidatorPassword.ErrorMsg = "";
};
最好能告诉我个大概就好勒..谢谢各位高手勒.

这是Lamda表达式,是C# 3.0的语法

(g, e)=>{...} 是代表一个方法,传入两个参数,一个是g,一个是e。=>的部分为该方法的方法体部分。

this.Password.PasswordChanged看上去是一个委托或者事件,这里用+=是为该事件挂接具体实现,需要传递一个委托对象。采用Lamda表达式实际上是一种匿名方法,也就是一种委托。

。。好累

不就是一个委托嘛