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#函式
- C#反射的委託建立器C#反射
- C#呼叫python的方法C#Python
- 重學c#系列——c# 託管和非託管資源(三)C#
- C# - 委託與事件C#事件
- C#委託與事件C#事件
- c# 委託和事件C#事件
- C#委託理解(1)C#
- C#呼叫PythonC#Python
- C#呼叫pydC#
- C#呼叫js庫的方法C#JS
- C#呼叫 C++的DLLC#C++
- 瞭解下C# 委託(Delegate)C#
- C#委託的幾種表現方式C#
- C# 委託(delegate)、泛型委託和Lambda表示式C#泛型
- c# 反射呼叫方法C#反射
- C++呼叫 c#生成的dllC++C#
- C#基礎委託回顧C#
- 詳解C#委託與事件C#事件
- C#基礎之委託,事件C#事件
- C#基礎:泛型委託C#泛型
- 由C#委託回撥想到的二三事C#
- 重學c#系列——c# 託管和非託管資源與程式碼相關(四)C#
- C# 生成DLL 並 呼叫C#
- C#中Emgucv呼叫HalconC#
- CefSharp ——js呼叫c#方法JSC#
- xLua中C#呼叫LuaC#
- xLua中Lua呼叫C#C#
- C#/.net程式呼叫pythonC#Python
- C# 呼叫Python程式碼C#Python
- toLua中Lua呼叫C#中的類C#
- 中委八養成法己聲石前對xlw
- 詳解C#委託和事件(二)C#事件
- 詳解C#委託和事件(一)C#事件
- C++呼叫C#的動態庫dllC++C#