C#委托-委托不关心被封装的类
委托是C#中的一個(gè)全新的概念。類似于C++中的函數(shù)指針。但是,不像C++中的函數(shù)指針,委托是完全面向?qū)ο蟮? 不像指向成員函數(shù)的指針,委托封裝一個(gè)對象的實(shí)例方法或靜態(tài)方法。
一個(gè)委托聲明定義一個(gè)從System.Delegate派生的類。一個(gè)委托實(shí)例封裝一個(gè)或多個(gè)方法,每一個(gè)被稱為可調(diào)用的實(shí)體。委托的最有用和感興趣的是,它不知道或不關(guān)心,它所封裝的方法的類。所以說,委托是"匿名"引用。
using System;
//委托聲明
delegate void MyDelegate();
//實(shí)現(xiàn)委托的類,一個(gè)靜態(tài)方法,一個(gè)實(shí)例方法
public class MyClass
{
public void InstanceMethod()
{
??? Console.WriteLine("實(shí)例方法被調(diào)用。");
}
static public void StaticMethod()
{
??? Console.WriteLine("靜態(tài)方法被調(diào)用。");
}
}
//主要類,包括Main()函數(shù)
public class MainClass
{
static public void Main()
{
??? //一個(gè)委托類的實(shí)例
??? MyClass p = new MyClass();
??? //委托實(shí)例方法
??? MyDelegate d = new MyDelegate(p.InstanceMethod);
??? d();
??? //委托靜態(tài)方法
??? d = new MyDelegate(MyClass.StaticMethod);
??? d();
}
}
轉(zhuǎn)載于:https://www.cnblogs.com/tanding/archive/2012/06/28/2566638.html
總結(jié)
以上是生活随笔為你收集整理的C#委托-委托不关心被封装的类的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 转:STL:string 大小(Size
- 下一篇: 【转载】[OS X笔记]安装MacPor