国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C > 正文

C#中委托的基本用法總結

2020-01-26 15:47:45
字體:
來源:轉載
供稿:網友

原則:

1、委托本質就是個指針,一個函數指針,拿到函數的首地址即可;

C#的委托加了安全性,體現在對于函數指針所引用的函數指令塊的類型檢測,比如返回值,參數類型,參數個數

而C中的函數指針被賦值的時候(在C#中,就是委托實例化的時候,因為C#中后臺將委托處理成一個類了,封裝了哈)被賦予的值是否滿足類型的種種條件(返回值,參數類型,參數個數)不做檢查,由用戶給出保證,C#會編譯提示出來

2、委托實例化的過程,也就是委托對象構造的過程,從底層來講,即將一個現存的函數代碼指令塊的內存地址(靜態函數,實例的非靜態成員函數都行)賦值給這個委托;這個賦值過程,就是委托的構造函數要做的事情,所以,委托的構造函數一定有一個參數,這個參數在后臺讓系統處理,就是滿足類型檢查的函數指針,所要檢查的類型(返回值,參數類型,參數個數)都是在聲明定義委托的時候給出的。

3、委托實例化的兩種方法:

1) A a = new A(靜態方法名/實例.方法名);

2) A a = 靜態方法名/實例.方法名;

委托調用的兩種方法:

1)a.Invoke()

2)a()

用來構造委托的方法可以是靜態方法,也可以是實例化對象的成員函數,本質是這段代碼指令已經編譯出來,分配了內存了,傳遞給委托的參數(本質就是這塊指令數據的首地址)是有效的有意義的,從這個角度來理解,自然靜態方法,實例方法都能用來構造、建立委托實例的了

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 衡山县| 阳谷县| 黄大仙区| 新野县| 曲靖市| 深州市| 龙川县| 皮山县| 阜南县| 南充市| 青海省| 藁城市| 缙云县| 沙洋县| 信丰县| 进贤县| 象山县| 梁平县| 广州市| 泰宁县| 西城区| 宜州市| 海伦市| 钦州市| 巨鹿县| 同江市| 益阳市| 读书| 宁波市| 江孜县| 阳高县| 五寨县| 中宁县| 克拉玛依市| 酒泉市| 邵阳市| 綦江县| 玛曲县| 龙里县| 荃湾区| 萨迦县|