C#中委託的呼叫
C#中委託的呼叫有三種形式。假設定義了委託D,而在類C中有三個方法M1,M2和M3,其中M1和M2是靜態方法,M3是例項方法,則這三種形式分別是:
D cd1=new D(C.M1); //直接在例項化委託時進行呼叫;
D cd2=C.M2; //採取賦值的方式進行進行;
C cc=new C();
D cd3=new D(cc.M3); //對例項方法採取的方式
具體程式碼如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace delegateDemo2
{
delegate void D(int x);
class C
{
public static void M1(int i)
{
Console.WriteLine("C.M1:"+i);
}
public static void M2(int i)
{
Console.WriteLine("C.M2:" + i);
}
public void M3(int i)
{
Console.WriteLine("C.M3:" + i);
}
}
class Program
{
static void Main(string[] args)
{
D cd1 = new D(C.M1);
cd1(1);
D cd2 = C.M2;
cd2(2);
C cc = new C();
D cd3 = new D(cc.M3);
cd3(3);
Console.ReadLine();
}
}
}
相關文章
- C#基礎系列--C#中委託與事件(三)C#事件
- C#基礎系列--C#中委託與事件(一)C#事件
- C#委託的非同步呼叫C#非同步
- 關於C#委託三種呼叫的分享C#
- 從.NET框架中委託寫法的演變談開去(中)框架
- C#網站呼叫C++非託管dll須知C#網站C++
- C#的委託案例C#
- C#中的委託C#
- c#委託C#
- C# 事件委託C#事件
- C#委託(delegate)C#
- C# 委託事件C#事件
- C#反射的委託建立器C#反射
- C# 中的委託和事件C#事件
- 重學c#系列——c# 託管和非託管資源(三)C#
- C#委託與事件C#事件
- C#委託理解(1)C#
- c# 委託測試C#
- C#再識委託C#
- C# 事件 vs 委託C#事件
- C#自學(一)委託(delegate)、委託泛型、多播委託C#泛型
- C#中的委託和事件(續)C#事件
- C# 託管資源和非託管資源C#
- 瞭解下C# 委託(Delegate)C#
- C# 之委託與事件C#事件
- 什麼是委託(C#)C#
- C# 委託(delegate)、泛型委託和Lambda表示式C#泛型
- C#呼叫pydC#
- C#呼叫webserviceC#Web
- c#呼叫webservicesC#Web
- C#委託的幾種表現方式C#
- C#委託回撥的一個例子C#
- C#呼叫 C++的DLLC#C++
- C#呼叫js庫的方法C#JS
- 委託、Lambda表示式、事件系列04,委託鏈是怎樣形成的, 多播委託, 呼叫委託鏈方法,委託鏈異常處理事件
- C#基礎:泛型委託C#泛型
- C#基礎委託回顧C#
- C#:委託和自定義事件C#事件