程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#基礎知識 >> 到底是什麼反射,泛型,委托,泛型

到底是什麼反射,泛型,委托,泛型

編輯:C#基礎知識

我學這些東西的時候在網絡上查了很久,感覺都很專業,初學者難以理解什麼時候用,也很難找到簡單的介紹,稍微整理一下下: 
------------------------------------------------------------------------------------------------------------------------------------------------------------
反射 : Reflection
1. 基類調用派生類時候用
2. 在運行時才確定要調用哪個類的時候用
3. 在運行期  獲取 模塊 程序集 類 構造函數 屬性方法的信息 以及實例化類,
    調用構造函數,屬性,方法,事件,委托等……通過對類型動態實例化後,還可以用反射對其執行操作
4. 如果在寫代碼的時候就能確定要調用的是哪個類,那直接調用當然好了。
   但很多場合(也許是為了通用性),要在運行期才能夠決定需要調用的類型,那樣就有必要用反射來取得類型的相關信息了

簡單來說就是用string可以在runtime為所欲為的東西,實際上就是一個.net framework內建的萬能工廠
------------------------------------------------------------------------------------------------------------------------------------------------------------
  泛型 :
1. 減少裝箱拆箱,性能高 2. 類型安全 3. 工作效率提高
可是誰知道怎麼簡單的描述他?
------------------------------------------------------------------------------------------------------------------------------------------------------------
  緩存 - 緩存依賴 :
1. 當用戶再次訪問這個網頁的時候,被格式化好的HTML會被直接送顯。 速度快
2. 依賴於數據源,數據源發生更改時重新生成緩存,數據源可以是文件,數據庫等

一般來說優化網站時候用
--------------------------------------------------------------------------------------------------------------------------------------------------------------
  委托 :
1. 委托是可以申明的類型,方法看做委托的實例 ,所以說方法可以傳遞滴!
      (將方法作為參數傳遞),可以避免在程序中大量使用If-Else(Switch)等語句,同時使得程序具有更好的可擴展性。
2. 使用委托可以將多個方法綁定到同一個委托的變量上( +=  或 -=)
3. 一個事件不管是不是聲明為public,但是它實際上都是private,私有變量是不可以直接用等號(=)的,也就是說事件用=號來綁定一個函數是不好滴
   所有一般用封裝了的 += , -= 實際上 += ”對應 add_XXX()方法, “-=”對應 remove_XXX()方法。
4.  返回值都為void
  如果定義了返回值,那麼多個訂閱 者的方法都會向發布者返回數值,結果就是後面一個返回的方法值將前面的返回值覆蓋掉了,
  因此,實際上只能獲得最後一個方法調用的返回值。
5.委托相當於C中的指針,它是類型安全的
委托相當於老板,老板可以隨意支配許多員工做事,一個委托也可以綁定N多函數。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved