亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

求解釋關于c#語法的一些含義,分別是泛型,委托,反射?

求解釋關于c#語法的一些含義,分別是泛型,委托,反射?

C
當年話下 2021-07-14 15:11:21
c#的泛型,委托,反射是什么,請高手簡單說明一下并舉個簡單扼要的例子?要代碼,謝謝回答!
查看完整描述

2 回答

?
蕭十郎

TA貢獻1815條經驗 獲得超13個贊

反射 : Reflection
1. 基類調用派生類時候用
2. 在運行時才確定要調用哪個類的時候用
3. 在運行期 獲取 模塊 程序集 類 構造函數 屬性方法的信息 以及實例化類,
調用構造函數,屬性,方法,事件,委托等……通過對類型動態實例化后,還可以用反射對其執行操作
4. 如果在寫代碼的時候就能確定要調用的是哪個類,那直接調用當然好了。
但很多場合(也許是為了通用性),要在運行期才能夠決定需要調用的類型,那樣就有必要用反射來取得類型的相關信息了

簡單來說就是用string可以在runtime為所欲為的東西,實際上就是一個.net framework內建的萬能工廠
------------------------------------------------------------------------------------------------------------------------------------------------------------
泛型 :
1. 減少裝箱拆箱,性能高 2. 類型安全 3. 工作效率提高
可是誰知道怎么簡單的描述他?
減少裝箱拆箱的技術,什么是裝箱,從物理上說是:
把堆棧上的對象復制到堆上
也可以說將值類型(全部繼承自system.ValueType)轉換為引用類型,反之叫拆箱
那什么是值類型,引用類型?
整數類型,浮點類型,布爾類型,枚舉類型,結構體類型,字符類型叫值類型
字符串類型,OBJECT類型,類類型,數組類型,委托類型,接口類型叫引用類型
什么是堆棧,什么是堆?
正在研究中…………

------------------------------------------------------------------------------------------------------------------------------------------------------------
緩存 - 緩存依賴 :
1. 當用戶再次訪問這個網頁的時候,被格式化好的HTML會被直接送顯。 速度快,直接存在內存中
2. 依賴于數據源,數據源發生更改時重新生成緩存,數據源可以是文件,數據庫等
一般來說優化網站時候用
--------------------------------------------------------------------------------------------------------------------------------------------------------------
委托 :
1. 委托是可以申明的類型,方法看做委托的實例 ,所以說方法可以傳遞滴!
(將方法作為參數傳遞),可以避免在程序中大量使用If-Else(Switch)等語句,同時使得程序具有更好的可擴展性。
2. 使用委托可以將多個方法綁定到同一個委托的變量上( += 或 -=)
3. 一個事件不管是不是聲明為public,但是它實際上都是private,私有變量是不可以直接用等號(=)的,也就是說事件用=號來綁定一個函數是不好滴
所有一般用封裝了的 += , -= 實際上 += ”對應 add_XXX()方法, “-=”對應 remove_XXX()方法。
4. 返回值都為void
如果定義了返回值,那么多個訂閱 者的方法都會向發布者返回數值,結果就是后面一個返回的方法值將前面的返回值覆蓋掉了,
因此,實際上只能獲得最后一個方法調用的返回值。
5.委托相當于C中的指針,它是類型安全的
委托相當于老板,老板可以隨意支配許多員工做事,也可以解雇員工,一個委托也可以綁定N多函數,也可以取消一些綁定


查看完整回答
反對 回復 2021-07-25
  • 2 回答
  • 0 關注
  • 231 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號