程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> 使用Action、Func,EventHandler,params關鍵字修飾的參數的匿名委托和Lambda表

使用Action、Func,EventHandler,params關鍵字修飾的參數的匿名委托和Lambda表

編輯:關於ASP.NET

使用Action、Func,EventHandler,params關鍵字修飾的參數的匿名委托和Lambda表達式

在.NET在,我們經常使用委托,委托的作用不必多說,在.NET 2.0之前,我們在使用委托之前,得自定義一個委托類型,再使用這個自定義的委托類型定義一個委托字段或變量。.NET 2.0給我們帶來了Action、Func兩個泛型委托,.NET3.0給我們帶來了Lambda,這一切使得委托的定義和使用變得簡單起來。下面的例子中的委托都使用了Lambda表達式。

一.Action系列的泛型委托

Action系列的委托定義的是沒有返回值(返回值為void)的委托。它有多個版本包括沒有輸入參數,1個輸入參數,2個輸入參數,3個輸入參數,4個輸入參數共5個版本這幾個版本的原型如下:

1.沒有輸入參數返回值為void的委托.

Action委托 封裝一個方法,該方法不采用參數並且不返回值。

可以使用此委托以參數形式傳遞一個執行某操作的方法,而不用顯式聲明一個自定義的委托來封裝此方法。該封裝的方法必須與此委托定義的方法簽名相對應。這意味著該方法不得具有參數和返回值。例:

using System;
using System.Windows.Forms;
public class Name
{
  private string instanceName;
  public ActionShowName;
  public Show()
{
  If(ShowName != null)
  ShowName();
}
  public Name(string name)
  {
   this.instanceName = name;
  }
  public void DisplayToConsole()
  {
   Console.WriteLine(this.instanceName);
  }
  public void DisplayToWindow()
  {
   MessageBox.Show(this.instanceName);
  }
}
public class ActionStudy
{
  public static void Main()
  {
   Name testName = new Name("Koani");
   testName.ShowName = () => testName.DisplayToWindow();
   testName.Show();
  }
}

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved