精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

C#反射的入門之C#反射實例

開發 后端
C#反射的入門學習首先要明白C#反射提供了封裝程序集、模塊和類型的對象等等。那么這樣可以使用反射動態創建類型的實例,將類型綁定到現有對象,或從現有對象獲取類型并調用其方法或訪問其字段和屬性。如果代碼中使用了屬性,可以利用反射對它們進行訪問。

[[387527]]

C#反射的入門學習首先要明白C#反射提供了封裝程序集、模塊和類型的對象等等。那么這樣可以使用反射動態創建類型的實例,將類型綁定到現有對象,或從現有對象獲取類型并調用其方法或訪問其字段和屬性。如果代碼中使用了屬性,可以利用反射對它們進行訪問。

MSDN描述:

反射通常具有以下用途:

使用 Assembly 定義和加載程序集,加載在程序集清單中列出的模塊,以及從此程序集中查找類型并創建該類型的實例。

使用 Module 發現以下信息:包含模塊的程序集以及模塊中的類等。您還可以獲取在模塊上定義的所有全局方法或其他特定的非全局方法。

使用 ConstructorInfo 發現以下信息:構造函數的名稱、參數、訪問修飾符(如 public 或 private)和實現詳細信息(如 abstract 或 virtual)等。使用 Type 的 GetConstructors 或 GetConstructor 方法來調用特定的構造函數。

使用 MethodInfo 發現以下信息:方法的名稱、返回類型、參數、訪問修飾符(如 public 或 private)和實現詳細信息(如 abstract 或 virtual)等。使用 Type 的 GetMethods 或 GetMethod 方法來調用特定的方法。

使用 FieldInfo 發現以下信息:字段的名稱、訪問修飾符(如 public 或 private)和實現詳細信息(如 static)等;并獲取或設置字段值。

使用 EventInfo 發現以下信息:事件的名稱、事件處理程序數據類型、自定義屬性、聲明類型和反射類型等;并添加或移除事件處理程序。

使用 PropertyInfo 發現以下信息:屬性的名稱、數據類型、聲明類型、反射類型和只讀或可寫狀態等;并獲取或設置屬性值。

使用 ParameterInfo 發現以下信息:參數的名稱、數據類型、參數是輸入參數還是輸出參數,以及參數在方法簽名中的位置等。

當您在一個應用程序域的僅反射上下文中工作時,請使用 CustomAttributeData 來了解有關自定義屬性的信息。使用 CustomAttributeData,您不必創建屬性的實例就可以檢查它們。

System.Reflection.Emit 命名空間的類提供了一種特殊形式的反射,使您能夠在運行時生成類型。

反射也可用于創建稱作類型瀏覽器的應用程序,它使用戶能夠選擇類型,然后查看有關選定類型的信息。

反射還有其他一些用途。JScript 等語言編譯器使用反射來構造符號表。System.Runtime.Serialization 命名空間中的類使用反射來訪問數據并確定要持久保存的字段。System.Runtime.Remoting 命名空間中的類通過序列化來間接地使用反射。

一個最簡單的C#反射實例,首先編寫類庫如下:

  1. using System;    
  2. namespace ReflectionTest 
  3.     public class WriteTest 
  4.     {   
  5.         //public method with parametors   
  6.         public void WriteString(string s, int i) 
  7.         { 
  8.             Console.WriteLine("WriteString:" + s + i.ToString()); 
  9.         } 
  10.   
  11.         //static method with only one parametor   
  12.         public static void StaticWriteString(string s) 
  13.         { 
  14.             Console.WriteLine("StaticWriteString:" + s); 
  15.         } 
  16.   
  17.         //static method with no parametor   
  18.         public static void NoneParaWriteString() 
  19.         { 
  20.             Console.WriteLine("NoParaWriteString"); 
  21.         } 
  22.     } 

使用命令行編譯csc /t:library ReflectTest.cs命令進行編譯,生成ReflectTest.dll庫文件。

然后進行下列程序的編寫:

  1. using System;   
  2. using System.Reflection;    
  3. class TestApp 
  4.     public static void Main() 
  5.     { 
  6.         Assembly ass; 
  7.         Type type; 
  8.         Object obj; 
  9.   
  10.         Object any = new Object(); 
  11.         ass = Assembly.LoadFile(@"@"C:\Users\luogy\Desktop\1\ReflectionTest.dll""); 
  12.         type = ass.GetType("ReflectionTest.WriteTest"); 
  13.   
  14.         /*example1---------*/ 
  15.         MethodInfo method = type.GetMethod("WriteString"); 
  16.         string test = "test"
  17.         int i = 1; 
  18.         Object[] parametors = new Object[] { test, i }; 
  19.         obj = ass.CreateInstance("ReflectionTest.WriteTest"); 
  20.         method.Invoke(obj,//Instance object of the class need to be reflect   
  21.             parametors); 
  22.         //method.Invoke(any, parametors);//RuntimeError: class reference is wrong    
  23.   
  24.         /*example2----------*/ 
  25.         method = type.GetMethod("StaticWriteString"); 
  26.         method.Invoke(null, new string[] { "test" }); 
  27.         method.Invoke(obj, new string[] { "test" }); 
  28.         method.Invoke(any, new string[] { "test" });  
  29.   
  30.         /*example3-----------*/ 
  31.         method = type.GetMethod("NoneParaWriteString"); 
  32.         method.Invoke(nullnull); 
  33. Console.ReadKey();     
  34.     } 

運行結果:

C#反射學習時幾點注意內容:

1.指定類庫文件必須使用絕對路徑,不能使用相對路徑(其實感覺有點不合理,不太方便)

2.19行,命名空間和類的名字必須一起指定

3.在例子1種必須實例化反射要反射的類,因為要使用的方法并不是靜態方法。

4.由于這個方法有兩個參數,可以用這種Object的方法指定參數也可以直接寫method.Invoke(obj, new Object[] { "test", 1 });

5.在例子2種我們想用的方法是一個靜態方法,這時候Invoke的時候,對于第一個參數是無視的,也就是我們寫什么都不會被調用,即使我們隨便new了一個any這樣的Object,當然這種寫法是不推薦的。但是對應在例子1種我們如果Invoke的時候用了類型不一致的實例來做為參數的話,將會導致一個運行時的錯誤。

6.第三個例子是一個調用無參數靜態方法的例子,這時候兩個參數我們都不需要指定,用null就可以了。

再說一個問題,如果調用的類是靜態類的時候,需要注意一個問題,肯定我們會想到一個問題,靜態類是不能實例化的,這時候,31行的類的實例化的方法我們就不需要了,直接使用Invoke就可以實現,否則將會出現運行時的錯誤,同樣的道理,第一個參數將會被無視,只要我們傳對了參數就可以了。

C#反射以及C#反射實例的相關內容就向你介紹到這里,希望對你了解和學習C#反射以及C#反射實例應用有所幫助。

 

責任編輯:武曉燕 來源: CSharp編程大全
相關推薦

2009-08-28 13:12:56

C#反射實例C#反射

2009-08-31 09:41:05

C#反射靜態方法開發

2024-04-15 04:00:00

C#反射代碼

2009-08-28 13:56:25

C#反射命名空間

2024-03-04 18:49:59

反射C#開發

2009-08-21 08:41:44

C#反射

2009-09-03 11:00:29

C#反射機制

2009-08-25 17:59:49

C#入門

2024-09-18 00:00:02

反射C#元數據

2020-12-31 07:31:10

C# 反射數據

2009-08-12 17:32:44

C#反射方法

2011-06-08 10:06:32

C#

2024-06-04 00:00:30

C#反射編程

2009-08-24 08:56:55

C#反射

2009-09-02 17:10:45

C#語言入門

2009-08-25 17:49:07

C#入門

2009-04-10 09:55:44

C#反射.NET

2009-08-26 10:34:15

C#類型C#變量

2011-08-29 10:35:53

反射方式C#

2024-09-23 21:00:57

C#反射
點贊
收藏

51CTO技術棧公眾號

少妇高潮av久久久久久| 日本黄色录像片| 免费观看在线午夜影视| 国产精品一区二区91| 久久久伊人日本| 在哪里可以看毛片| 久久久91麻豆精品国产一区| 五月开心婷婷久久| 亚洲电影网站| 天堂中文在线看| 日韩中文字幕91| 久久久久久久久久久网站| 国产精品高清无码在线观看| 粉嫩av国产一区二区三区| 欧美日韩中文字幕综合视频 | 毛片av免费在线观看| 老司机在线看片网av| 91老师国产黑色丝袜在线| 成人午夜激情免费视频| 亚洲熟妇无码乱子av电影| 91成人网在线观看| 夜夜嗨av一区二区三区免费区| 亚洲成人av免费观看| 蜜桃视频成人m3u8| 精品久久久久久久久久| 996这里只有精品| 麻豆影院在线| 国产清纯白嫩初高生在线观看91 | 亚洲自拍偷拍图区| 亚洲午夜久久久影院伊人| 亚洲日本国产精品| 国产成人久久精品77777最新版本| 国产精品久久久久9999| 精品处破女学生| 欧美福利电影在线观看| 日韩在线播放视频| 国产三级短视频| 国产一级片在线| 国产69精品久久久久毛片| 国产在线视频欧美| 中文字幕乱码视频| 丝袜a∨在线一区二区三区不卡| 久久久久国产一区二区三区| 日本黄色录像视频| 97精品国产福利一区二区三区| 亚洲精品综合精品自拍| 国产精品无码网站| 亚洲大片精品免费| 精品亚洲aⅴ在线观看| 欧美夫妇交换xxx| 国产福利一区二区精品秒拍| 日韩欧美美女一区二区三区| 亚洲制服在线观看| 免费观看亚洲天堂| 日韩无一区二区| 色哟哟在线观看视频| 日本精品在线播放| 日韩欧美国产麻豆| 亚洲精品久久一区二区三区777| 欧美成人精品一级| 精品嫩草影院久久| 色婷婷免费视频| 香蕉视频一区| 在线观看欧美日韩国产| 成人欧美一区二区三区黑人一| 日韩欧美一区二区三区免费看| 日韩在线视频观看正片免费网站| 久久视频一区二区三区| 国产精品毛片久久| 欧美国产日韩一区二区| 日韩女优在线观看| 日日夜夜免费精品视频| 国产日韩在线看片| 精品人妻一区二区三区日产乱码| 成人av先锋影音| 欧美午夜精品久久久久免费视 | 久久午夜电影网| 日本一区二区三区视频在线观看| 在线看的av网站| 一区二区三区精密机械公司| 久久亚洲中文字幕无码| 欧美精品总汇| 欧美一区二区二区| 欧美性xxxx图片| 99久久久久| 久久人人爽人人| 超碰在线免费97| 国产风韵犹存在线视精品| 精品视频第一区| 午夜小视频在线| 亚洲不卡av一区二区三区| www.色就是色| 成人知道污网站| 在线电影av不卡网址| 青青草免费av| 日日摸夜夜添夜夜添精品视频 | 国产白浆在线观看| 久久久亚洲精品石原莉奈| 在线不卡视频一区二区| 午夜激情在线视频| 中文无字幕一区二区三区| 成人精品视频在线播放| 国产成人精品一区二三区在线观看 | 在线观看欧美日韩| 国产成人啪精品午夜在线观看| 日本亚洲欧美天堂免费| 国产欧美一区二区三区另类精品 | 欧美精品一区三区| www.色国产| 成人a免费在线看| 一区二区高清视频| 成人性生交大片免费网站| 日韩视频一区二区在线观看| 国产精品一二三区在线观看| 国产精品大片| 91精品视频观看| 猫咪在线永久网站| 精品久久久久久久久久久久久久| 伊人网在线综合| 日韩三级av| 欧美激情亚洲自拍| 国产一区二区三区在线观看| 久久久影视传媒| 亚洲 自拍 另类小说综合图区| 伊人久久一区| 中文字幕在线日韩| √资源天堂中文在线| 成人黄色小视频在线观看| 大桥未久一区二区| 日本免费成人| 尤物九九久久国产精品的分类 | 欧美日韩在线播放三区四区| 亚洲第九十七页| 99热精品在线| 国产精品久久7| 精品人妻一区二区三区四区不卡| 欧美经典三级视频一区二区三区| 日韩欧美在线播放视频| 欧美黑人巨大videos精品| 欧美激情视频一区二区| av片免费播放| 亚洲男人的天堂网| 五月六月丁香婷婷| 亚洲五月综合| 96国产粉嫩美女| bestiality新另类大全| 91精品国产色综合久久不卡电影 | 国产精品一区二区免费| 91在线超碰| 亚洲成人久久电影| 国产大片中文字幕在线观看| 成人小视频免费在线观看| 免费看欧美黑人毛片| 国产精品15p| 午夜精品久久久久久99热软件 | 最新国产成人av网站网址麻豆| 五月婷婷六月婷婷| 欧美国产视频在线| 免费av不卡在线| 欧美精品入口| 久久一区二区精品| 婷婷午夜社区一区| 中文字幕在线观看亚洲| 国产手机视频在线| 亚洲福利一区二区| 国产呦小j女精品视频| 久久久久国产精品一区三寸| 亚洲高清视频一区二区| 国产精品亚洲四区在线观看| 欧美黑人极品猛少妇色xxxxx | 夜夜嗨av一区二区三区四区| 中文 欧美 日韩| 亚洲人成网站影音先锋播放| 久久国产免费视频| 亚洲综合三区| 亚洲人成网站在线播放2019| 亚州一区二区| 日本中文字幕不卡免费| 精品美女在线观看视频在线观看| 日韩你懂的在线观看| 97免费在线观看视频| 国产亚洲女人久久久久毛片| theporn国产精品| 激情综合激情| 亚洲高清在线播放| av综合网址| 国产精品久久久久久亚洲影视| а√天堂官网中文在线| 亚洲裸体xxxx| 国产草草影院ccyycom| 欧美日韩国产影院| 女同久久另类69精品国产| av不卡在线观看| 最新国产黄色网址| 一本久久综合| 好吊色视频988gao在线观看| 日韩超碰人人爽人人做人人添| 国产精品女人网站| 超碰资源在线| 久久久精品国产亚洲| 午夜性色福利影院| 欧美高清hd18日本| 亚洲欧美自拍视频| 亚洲精品成a人| 五月激情四射婷婷| 99免费精品在线| 91亚洲一区二区| 蜜桃精品视频在线| 亚洲中文字幕无码中文字| 在线免费观看日本欧美爱情大片| 欧美午夜视频在线| 久久国产精品免费精品3p| 国产在线播放不卡| 朝桐光一区二区| 97在线精品国自产拍中文| 自拍亚洲图区| zzjj国产精品一区二区| 经典三级在线| 日韩av中文字幕在线免费观看| 国产肥老妇视频| 精品视频色一区| 成人黄色三级视频| 欧美日韩一二三四五区| 精品无码人妻一区二区三区品| 综合久久久久久| 国产成人精品视频免费| 欧美国产精品中文字幕| 一二三不卡视频| 99re热视频这里只精品| 性感美女一区二区三区| 国产成人av影院| 国内av免费观看| 国产精品主播直播| 亚洲欧美日韩一二三区| 国内欧美视频一区二区| 香蕉视频999| 韩国一区二区三区| 加勒比av中文字幕| 精品在线免费观看| а 天堂 在线| 狠狠色狠狠色合久久伊人| 五月婷婷丁香色| 老司机精品视频在线| 麻豆一区二区三区视频| 日本不卡高清视频| mm131国产精品| 久久精品国产亚洲一区二区三区| 狠狠干狠狠操视频| 国产一区二区三区久久久| 亚洲高清av一区二区三区| 久久精品国产一区二区| 亚洲制服中文字幕| 国产成人在线观看| 秘密基地免费观看完整版中文| 国产成人精品免费在线| 波多野结衣办公室双飞| 99精品视频一区二区三区| 国产性生活毛片| 久久久久久99久久久精品网站| 91精彩刺激对白露脸偷拍| 国产精品天美传媒沈樵| 极品美妇后花庭翘臀娇吟小说| 亚洲黄色在线视频| 日韩 欧美 亚洲| 日本高清无吗v一区| 怡春院在线视频| 884aa四虎影成人精品一区| 精品久久久久中文慕人妻| 亚洲娇小xxxx欧美娇小| 免费在线超碰| 久久视频免费在线播放| av蜜臀在线| 国产成人午夜视频网址| 伊人久久大香| 久久99精品久久久久子伦| 精品国产123区| 久久福利一区二区| 美日韩精品视频| 超碰在线免费av| 成人亚洲一区二区一| 性欧美13一14内谢| 亚洲视频资源在线| 91video| 制服丝袜国产精品| 日本韩国精品一区二区| 久久精品成人欧美大片| 男人的天堂免费在线视频| 国产欧美精品日韩精品| 激情亚洲另类图片区小说区| 亚洲精品视频一二三| 99热在线精品观看| 亚洲欧美另类动漫| 国产精品99久久久久久似苏梦涵 | 欧洲视频在线免费观看| 久久婷婷国产麻豆91天堂| 麻豆蜜桃在线观看| 成人免费视频97| 美女久久久久| 成人短视频在线观看免费| 日本中文字幕一区二区视频| 曰本三级日本三级日本三级| 国产亚洲精品7777| 久久精品欧美一区二区| 欧美精品一级二级| 精品资源在线看| 国内精品久久久久久久| 欧美一级做一级爱a做片性| 久久亚洲免费| 在线日韩欧美| www.偷拍.com| 中文久久乱码一区二区| 麻豆久久久久久久久久| 精品嫩草影院久久| 国产不卡在线| 国产一区视频在线| re久久精品视频| 男女曰b免费视频| 成人高清视频在线| 免费在线黄色网| 欧美日韩二区三区| 国产98在线| 国产成人aa精品一区在线播放| 国产福利一区二区精品秒拍| 久久国产精品免费观看| 麻豆极品一区二区三区| 国产jjizz一区二区三区视频| 精品久久久久久中文字幕大豆网 | 国产一区二区三区高清在线观看| а√天堂中文在线资源8| 成人免费视频观看视频| 伊人久久大香线蕉综合四虎小说 | 五月婷婷激情视频| 精品爽片免费看久久| 久久免费电影| 国产欧美日韩亚洲| 在线成人www免费观看视频| 野战少妇38p| 亚洲高清免费观看高清完整版在线观看| www.黄色小说.com| 欧美人成在线视频| 超碰成人在线观看| 欧美一级欧美一级| av一区二区久久| 亚洲精品午夜国产va久久成人| 亚洲精品720p| 午夜欧美激情| 欧洲精品国产| 日韩av在线播放中文字幕| 一级片久久久久| 欧美精品色综合| caoporn免费在线| 99精品在线直播| 亚洲第一在线| 丰满少妇高潮一区二区| 在线视频欧美精品| 日韩伦理在线电影| 91久久精品美女高潮| 欧美日韩国产亚洲一区| 黄色国产在线视频| 日韩欧美a级成人黄色| 国产黄色片在线观看| 国产原创欧美精品| 欧美色综合网| 日韩乱码人妻无码中文字幕久久| 色天使色偷偷av一区二区| 91caoporn在线| 99在线高清视频在线播放| 亚洲一区二区成人| 东方伊人免费在线观看| 777欧美精品| 91超碰在线| 视频一区三区| 国产福利一区二区三区视频在线| xxxx 国产| 亚洲网站在线看| 久久亚洲精精品中文字幕| 黄色一级在线视频| 国产精品欧美一区喷水| 精品人妻伦一二三区久久| 欧美性受xxxx白人性爽| 日韩精品免费一区二区三区| 免费黄视频在线观看| 狠狠躁夜夜躁人人爽天天天天97| 春暖花开成人亚洲区| y111111国产精品久久婷婷| 巨乳诱惑日韩免费av| 中文字幕电影av| 亚洲精品网址在线观看| 国产精品一区三区在线观看| 香港三级韩国三级日本三级| 亚洲国产精品二十页| 日本黄色一区二区三区| www.久久久久| 第一区第二区在线| 91极品尤物在线播放国产| 亚洲二区在线视频| 日韩精品黄色| 欧美一区少妇| 成人动漫av在线| 国产精品国产三级国产普通话对白 |