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

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

C#基礎(chǔ)|初探反射

2019-11-17 03:10:41
字體:
供稿:網(wǎng)友

C#基礎(chǔ)|初探反射

什么是反射我們編寫的C#代碼都可以編譯成exe文件或dll文件。暫時(shí)先把他們叫做程序集吧,程序集中包含了很多信息。你寫了一個類,類中會有字段,有屬性,有方法,編譯是會把這些信息保存在程序集中,暫時(shí)把這些信息叫做程序類型信息吧。可以肯定的是程序集中包含了程序類型信息。程序類型信息有一個更加專業(yè)的術(shù)語叫“元數(shù)據(jù)”(metadata),他們就保存在程序集中。順著前面的前景提要,來給反射下一個定義吧。一個程序在運(yùn)行時(shí),查看其他程序集或本身的元數(shù)據(jù)的行為叫做反射反射實(shí)戰(zhàn),創(chuàng)建Type類對象前面說到程序集中包含一個叫元素?fù)?jù)的東西,正所謂在面向?qū)ο蟮氖澜缋铮f物皆對象,有對象肯定有類型,在C#中有預(yù)定義類型(int long string 等)還有程序員自定義類型,比如student類。好奇的你肯定會問那和元數(shù)據(jù)相關(guān)的類叫什么呢?答曰:是一個叫做Type的抽象類,他被設(shè)計(jì)用來包含類型的各種信息,有那些方法、那些屬性、那些特性等各種信息。細(xì)心的你肯定會注意到Type類是抽象的,不能夠直接new一個,那怎么創(chuàng)建呢?可以使用GetType方法和typeof運(yùn)算符來創(chuàng)建Type對象解決了創(chuàng)建問題,再來看看Type的屬性和方法吧(常見的)屬性:Name 返回類型的名字NameSpace 返回包含類型的聲明和命名空間Assembly 返回聲明類型的程序集方法:GetFields 返回字段列表GetPRoperties 返回屬性列表GetMethods 返回類型的方法列表看下面的代碼了。
 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5  6 using System.Reflection; //使用反射必須導(dǎo)入這個命名空間 7 namespace cShap基礎(chǔ)學(xué)習(xí) 8 { 9     class Program10     {11         static void Main(string[] args)12         {13             Student stu = new Student();14             Type t1 = stu.GetType();  //通過GetType方法創(chuàng)建;15             Type t2 = typeof(Student);  //通過typeof操作符創(chuàng)建16             //我們來看看Type獲取到了什么東西吧17             Console.WriteLine("Student類型的name是:{0}", t1.Name);18             Console.WriteLine("Student類型命名空間是:{0}", t1.Namespace);19 20             //獲得Student的方法列表21             foreach(var m in  t1.GetMethods() )22             {23                 Console.WriteLine("方法的名字->{0},返回值->{1}", m.Name, m.ReturnType);24             }25 26 27         }28     }29 30     class Student31     {32         public void SayHello()33         {34             Console.WriteLine("Hello~~");35         }36 37         public void SayHi()38         {39             Console.WriteLine("Hi``");40         }41         public String name;42         private String pwd;43     }44 }

運(yùn)行結(jié)果關(guān)于Type類在MSDN的資料:http://msdn.microsoft.com/zh-cn/library/system.type.aspx《完》
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 长岛县| 郧西县| 石河子市| 岫岩| 和龙市| 芮城县| 怀宁县| 沾化县| 廉江市| 江门市| 武安市| 望城县| 浦江县| 卓尼县| 广昌县| 博爱县| 镇原县| 正宁县| 汉中市| 康马县| 宕昌县| 鹤峰县| 泉州市| 卢龙县| 青川县| 锡林浩特市| 沙湾县| 正安县| 托克托县| 丰台区| 临沂市| 饶平县| 祁连县| 遂昌县| 同心县| 陆良县| 舒兰市| 绥阳县| 蓝山县| 巍山| 星子县|