當前位置:編程學習大全網 - 編程語言 - c#中委托怎麽用?

c#中委托怎麽用?

委托主要用於.NET Framework中的事件處理程序和回調函數,它是事件的基礎。

委托的作用類似於c++中函數指針的作用。不同的是,委托實例獨立於它所封裝的方法的類,並且方法類型與委托的類型是兼容的。函數指針只能引用靜態函數,而委托可以應用靜態和實例方法。

所有委托都是繼承自System.Delegate類,並且有壹個調用列表。調用委托時所執行的方法都被存放在這樣的壹個連接列表中。

使用delegate關鍵字可以聲明壹個委托。通過將委托與命名方法或匿名方法關聯,可以對委托進行實例化。為了與命名方法壹起使用,委托必須用具有可接受簽名的方法進行實例化。

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace ConsoleApplication1

{

//聲明壹個委托

delegate int Mydelegate();

class Program

{

static void Main(string[] args)

{

test p = new test();

//將委托指向非靜態方法

Mydelegate m = new Mydelegate(p.InstanceMethod);

//調用非靜態方法

m();

//將委托指向靜態方法

m = new Mydelegate(test.StaticMethod);

//調用靜態方法

m();

Console.Read();

}

}

public class test

{

public int InstanceMethod()

{

Console.WriteLine("正在調用非靜態方法InstanceMethod()....");

return 0;

}

static public int StaticMethod()

{

Console.WriteLine("正在調用靜態方法StaticMethod()。。。。");

return 0;

}

}

}

  • 上一篇:java開發項目是不是說java文件轉換成二進制就可以直接在桌面上運行了?有沒有這樣的轉換軟件?
  • 下一篇:寶馬m3換擋撥片怎麽用?
  • copyright 2024編程學習大全網