托管函數是一個對類裡面的某個函數的一個引用
在C++和Delphi中與托管函數對應的類型是函數指針
C++
typedef (int GetNum)(real rNum);
Delphi
function GetNum(rNum:real): integer; external;
這裡定義函數指針
由於托管函數是對類裡面某個函數的一個引用
接著上面的例子
class Secretory
{
//定義托管函數原型
private delegate string Do(string command);
//創建托管函數實例
public Do Doit;
//給秘書下達命令執行
public void ExecuteCommand(string command)
{
switch(秘書根據命令判斷是要給誰執行的)
{
case 調研市場的人:
Doit=new Do(new MarketMan()
Break;
Case 生長產品的人:
Doit=new Do(new ProductMan()
Break;
Default:
Break;
}
}
Doit(command);
}
///調研市場的那個人的類
class MarketMan
{
public string GetMarketInfo(string command)
{ 根據命令調查信息
}
///生產產品的人
class ProductMan
{
public static string ProduceProduct(string command)
{ 根據命令生產產品
}
ok
go on
老板只需要把秘書叫(new)過來
class Boss
{
public void static main()
{
(new Secretory())
}
}
正入你們所見的
From:http://tw.wingwit.com/Article/program/net/201311/13550.html