国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務(wù)器之家 - 編程語言 - ASP.NET教程 - .NET筆記之:Delegate內(nèi)部原理的分析

.NET筆記之:Delegate內(nèi)部原理的分析

2019-11-06 10:26asp.net教程網(wǎng) ASP.NET教程

本篇文章介紹了,基于.NET中Delegate內(nèi)部原理的分析。需要的朋友參考下

首先我們要弄清楚什么是委托?相信大家對委托并不陌生,委托其實就是一種定義方法簽名的類型;有關(guān)于委托的詳細(xì)介紹,大家可以參考MSDN中作出的介紹,鏈接為:http://msdn.microsoft.com/zh-cn/library/vstudio/ms173171.aspx。這里我就不做具體介紹了;

  這篇文章我主要是想告訴大家委托的內(nèi)部到底是什么樣的結(jié)構(gòu),我們先通過一個簡單的demo來復(fù)習(xí)一下委托: 

復(fù)制代碼代碼如下:

using System;
 using System.Collections.Generic;
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;

 namespace _01Delegate
 {
     //約束的指向方法的簽名,也就是一個強類型的指針
     public delegate int AddDele(int a, int b);

     class Program
     {
         static void Main(string[] args)
         {
             //定義一個委托變量,注意指向第一個方法的時候一定要用new關(guān)鍵字 后面的可以用+=
             AddDele delStatic = new AddDele(Add);
             //使用委托:靜態(tài)方法的委托
             Console.WriteLine(delStatic(3, 4));

             //實例方法的委托
             Program p = new Program();
             AddDele delInstance = new AddDele(p.AddInstance);
             //輸出:9
             Console.WriteLine(delInstance(4, 5));

             Console.ReadKey();
         }

         //靜態(tài)方法
         static int Add(int a, int b)
         {
             return a + b;
         }

         //實例方法
         public int AddInstance(int a, int b)
         {
             return a + b;
         }
     }
 }


  上面代碼中,分別使用委托對靜態(tài)方法和實例方法進(jìn)行調(diào)用,如果這段代碼看起來還是很吃力的話,建議就我前面提供的鏈接好好的鞏固一下委托的相關(guān)內(nèi)容。

 

 

  開始重點:委托的內(nèi)部構(gòu)造

  委托內(nèi)部可以分為三個部分:分別為_target,_methodPtr和委托鏈;(拿上面的demo為例)

  _target:顧名思義,就是委托的目標(biāo)函數(shù),如果是靜態(tài)方法的話,_target就為null;如果是實例方法的話,_target指向的就是當(dāng)前的實例,上例中delInstance的_target的值為p(Program的實例);

  _methodPtr:方法指針,指向的是內(nèi)存中該方法的地址;

  委托鏈:通過+=操作形成的委托鏈,其實指向的就是一個個的方法;

  我簡單的畫了一張圖來描述委托內(nèi)部構(gòu)造:(如下)
.NET筆記之:Delegate內(nèi)部原理的分析
這些都是本人的一些理解,如果有錯誤的地方歡迎大家指出并相互討論學(xué)習(xí),希望這篇文章對大家理解委托有所幫助,同時也是為了提高自己而記錄下自己的一點學(xué)習(xí)積累。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产成人av网站 | 日韩中文字幕在线播放 | 电影91久久久 | 一区二区三区高清不卡 | 日韩精品在线观看中文字幕 | 亚洲国产精品久久久久秋霞蜜臀 | av中文字幕在线 | 欧美黄色一级片免费看 | 欧美一级高清在线 | 最新国产视频 | 欧美日韩综合视频 | 日韩三级电影 | 中文字幕欧美日韩 | 北条麻妃在线一区二区三区 | 免费的av网站 | 黄色免费av| 美女爽到呻吟久久久久 | 中文字幕人成乱码在线观看 | 黄色一级电影在线观看 | 亚洲视频免费观看 | www.99精品 | 日韩高清一区二区 | 荷兰欧美一级毛片 | 欧美精品一区二区三区四区 | 在线观看国产成人av片 | 性色av一二三杏吧传媒 | 国产黄色大片 | 国产欧美日韩一区二区三区 | 我不卡一区 | 国产精品毛片一区视频播不卡 | 国产成人一区二区在线观看 | 黑人精品| 夜久久 | 99中文字幕 | 欧美日韩精品电影 | 99久久久久久 | 国产精品国产成人国产三级 | 亚州av影院 | 视频一区在线观看 | 一级免费毛片 | 一区二区三区中文字幕 |