亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

初探.NET中的delegate類型與.NET事件

2019-11-18 12:00:46
字體:
來源:轉載
供稿:網友

  1.了解delegate
  
  delegate可以認為是一種函數的指針,一個delegate類型的實例代表可以代表一個方法,在實際使用中我們可以在不知道方法名稱的情況下調用到這個方法。前面說太多可能會使大家變得糊涂,或者摸不著頭腦,我舉個例子,來具體說明此種類型的用法:
  
  整個例程的代碼,是控制臺項目.
  
  //代碼開始
  using System;
  
  namespace ConsoleApp1
  {
  
  public delegate string FunctionPointer(string strName);
  class Class1
  {
  
  [STAThread]
  static void Main(string[] args)
  {
  //
  // TODO: 在此處添加代碼以啟動應用程序
  System.Console.WriteLine("Hello World!");
  FunctionPointer fpa = new FunctionPointer(aFunction);
  FunctionPointer fpb = new FunctionPointer(bFunction);
  InvokeMethod(fpa);
  InvokeMethod(fpb);
  System.Console.ReadLine();
  //
  }
  public static string aFunction(string sNameA)
  {
  return "aFunction say i'm " + sNameA;
  }
  public static string bFunction(string sNameB)
  {
  return "bFunction say i'm " + sNameB;
  }
  public static void InvokeMethod(FunctionPointer fp)
  {
  System.Console.WriteLine(fp("storm"));
  }
  }
  }
  //代碼結束
  
  步驟1:要使用delegate類型首先應該建立delegate樣板,所謂delegate樣板其實就是delegate能夠調用的方法的簽名,什么是方法的簽名?方法的簽名可以認為是方法的參數類型、數量、返回值類型這些特征。
  
  定義的形勢如下: 訪問修飾符(public) delegate 返回值類型 名稱(參數列表);
  
  說明:返回值類型應該是你定義的delegate類型所預備調用的方法的返回值類型,參數列表應該與你預備使用delegate來調用的方法的參數列表相同(指的是數量、類型、順序相同,名稱當然無所謂了)
  一個實際的例子就是上面程序的
  public delegate string FunctionPointer(string strName);
  
  步驟2:定義delegate預備調用的方法,當然該方法要與你剛才聲明的delegate有相同的返回值和參數表;
  例如上面程序的:
  public static string aFunction(string sNameA)
  {
  return "aFunction say I'm " + sNameA;
  }
  public static string bFunction(string sNameB)
  {
  return "bFunction say I'm " + sNameB;
  }
  
  步驟3:定義delegate類型的處理函數,在這里可以定義如何調用你的delegate類型所指的方法,在實際使用中可以在這里來動態決定傳入的參數等信息。
  如上面程序的
  public static void InvokeMethod(FunctionPointer fp)
  {
  System.Console.WriteLine(fp("storm97"));
  }
  
  步驟4:建立delegate實例,傳入欲調用的方法名,要使用delegate類型必須建立他的實例,一個實例代表了一個方法的引用(可以這樣說)
  
  delegate實例定義的形式:
  XXX(代表你定義的某個delegate類型的名稱) 實例名(假設是實例A) = new XXX([欲調用的方法名(假設是方法A)]);
  意思是實例變量A指向方法A的程序代碼段;
  如:
  
  static void Main(string[] args)
  {
  //
  // TODO: 在此處添加代碼以啟動應用程序
  System.Console.WriteLine("Hello World!");
  //建立第一個delegate的實例fpa,該實例代表方法aFunction;
  FunctionPointer fpa = new FunctionPointer(aFunction);
  //建立第一個delegate的實例fpa,該實例代表方法bFunction;
  FunctionPointer fpb = new FunctionPointer(bFunction);
  ......
  //
  }
  下面就可以運行整個程序了。
  如:
  static void Main(string[] args)
  {
  //
  ......
  //調用方法aFunction
  InvokeMethod(fpa);
  //調用方法bFunction
  InvokeMethod(fpb);
  //
  }
  
  輸出結果: aFunction say I'm storm97
  bFunction say I'm storm97

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美丝袜第一区| 国产亚洲欧美另类中文| 日韩视频第一页| 91视频免费在线| 亚洲第一精品夜夜躁人人爽| 91精品国产91久久| 日韩美女毛茸茸| 日韩av中文字幕在线| 亚洲伊人成综合成人网| 欧美精品在线免费| 久久最新资源网| 亚洲精品美女久久久久| 97色伦亚洲国产| 国产精品视频白浆免费视频| 色系列之999| 国产精品1区2区在线观看| 国产激情综合五月久久| 2019中文字幕在线| 日韩美女在线观看| 91夜夜未满十八勿入爽爽影院| 亚洲夜晚福利在线观看| 日韩欧美a级成人黄色| 欧美性高潮在线| 欧美日韩亚洲系列| 精品久久香蕉国产线看观看gif| 久久亚洲精品小早川怜子66| 91精品久久久久久久久中文字幕| 欧美日韩性视频| 日韩在线观看网站| 69视频在线播放| 欧美日韩免费一区| 亚洲人成绝费网站色www| 欧美性生交大片免费| 欧美日韩在线一区| 日本一本a高清免费不卡| 国产精品福利久久久| 欧美精品在线免费播放| 欧美贵妇videos办公室| 久久久久久久久久久久久久久久久久av| 热久久免费视频精品| 精品久久久香蕉免费精品视频| 欧美日韩第一页| 欧美在线视频一区| 欧美激情亚洲一区| 欧美一区二区三区精品电影| 国产精品视频男人的天堂| 久久久久久尹人网香蕉| 色妞在线综合亚洲欧美| 91久久精品美女高潮| 久久久久久久久久国产精品| 欧美日韩国产在线看| 一本大道香蕉久在线播放29| 国产精品在线看| 成人综合国产精品| 成人激情电影一区二区| 欧美高清在线视频观看不卡| 亚洲第一视频网| 久久精品视频导航| 热久久免费视频精品| 国产精品一区二区三区成人| 国产欧美一区二区白浆黑人| 北条麻妃一区二区在线观看| 久久久久久久久国产精品| 亚洲精品国产福利| 红桃av永久久久| 高清欧美电影在线| 亚洲激情在线观看| 亚洲va欧美va国产综合剧情| 国产精品青青在线观看爽香蕉| 久久精品国产96久久久香蕉| 1769国内精品视频在线播放| 欧美成人免费大片| 亚洲精品久久久一区二区三区| 亚洲精品自拍视频| 欧美极品少妇与黑人| 日韩av网址在线观看| 亚洲国产成人精品女人久久久| 久久免费高清视频| 亚洲网址你懂得| 欧美多人爱爱视频网站| 日韩电影在线观看永久视频免费网站| 国产自摸综合网| 欧美日韩另类在线| 成人久久久久久久| 欧美综合在线第二页| 福利视频导航一区| 久久综合伊人77777| 精品动漫一区二区| 国产精品丝袜久久久久久高清| 欧美日韩色婷婷| 亚洲国产精品一区二区三区| 国产精品久久99久久| 国产九九精品视频| 国产在线拍揄自揄视频不卡99| 国产精品成人国产乱一区| 国产精品福利小视频| 中文字幕日韩免费视频| 午夜免费久久久久| 中文字幕欧美视频在线| 亚洲国产婷婷香蕉久久久久久| 成人网址在线观看| 一区二区av在线| 亚洲无线码在线一区观看| 日本a级片电影一区二区| 国产欧美日韩视频| 久久久久这里只有精品| 国产91在线播放九色快色| 久久久久久久久久久免费| 亚洲欧美制服第一页| 国产日韩欧美日韩| 美日韩精品免费视频| 亚洲欧美日韩综合| 欧美一区二粉嫩精品国产一线天| 亚洲国产天堂网精品网站| 亚洲精品久久久久久久久久久久久| 精品久久久在线观看| 97碰在线观看| 欧美国产一区二区三区| 丝袜亚洲欧美日韩综合| 国产精品私拍pans大尺度在线| 国产一区二区三区在线视频| 欧美视频在线免费看| 狠狠色狠狠色综合日日小说| 最近2019中文字幕第三页视频| 欧美日韩福利视频| 国产精品久久久久久中文字| 亚洲护士老师的毛茸茸最新章节| 91在线免费看网站| 日韩美女视频中文字幕| 欧美一区深夜视频| 麻豆一区二区在线观看| 久久久久久久久91| 中文字幕国产精品| 欧美男插女视频| 欧洲亚洲女同hd| 国产成人精品电影| 日韩av免费在线播放| 欧美丰满少妇xxxx| 久久人人爽人人爽人人片av高请| 国产精品美女www| 久久露脸国产精品| 国产精品久久一区主播| 亚洲韩国日本中文字幕| 一区二区三区黄色| 97免费中文视频在线观看| 日本亚洲欧美成人| 国产99久久精品一区二区 夜夜躁日日躁| 国产亚洲在线播放| 日韩精品极品毛片系列视频| 亚洲精品久久久久久久久久久久久| 国产精品免费久久久久影院| 久久国内精品一国内精品| 欧美久久精品一级黑人c片| 日韩一区在线视频| 久久久免费观看视频| 久久久视频精品| 欧美专区第一页| 亚洲欧美中文字幕| 亚洲精品成人av| 国产国语刺激对白av不卡| 国产91精品在线播放| 97在线视频免费观看| 欧美一级电影在线| 永久555www成人免费|