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多函數,也可以取消一些綁定
- 2 回答
- 0 關注
- 231 瀏覽
添加回答
舉報