1. 程式人生 > >C# 反射小結

C# 反射小結

什麽 html 運算符 reat pan href spa 配件 http

廢話不多說,直接上代碼。

1、typeof(類名):它是一個運算符

eg_1:Type type = typeof(int) ;

eg_2:public class Student

{

Type type = typeof(Student) ;

...................................................

}

2、object.GetType(類的完全限定名):它是一個方法

object 是具體實例時

eg:int iNumber=3 ; Type type = iNumber.GetType() ; 這個GetType是object對象中的無參實例方法

技術分享

object 是Type抽象類時

eg:Type type = Type.GetType() ; 這個GetType是System.Type抽象類的靜態方法,有5個重載(即:共有6個方法,註意:還有一個GetTyp無參實例方法

技術分享

他們都有一個共同點,就是返回類型都是Type。

進入主題【反射】:

我知道的反射有兩種:

第一種:object objAss = System.Reflection.Assembly.Load("裝配件的名稱").CreateInstance("要調用類的完全限定名") ;

第二種:object objAct = System.Activator.CreateInstance() ;

他有14個重載,我暫時只研究了兩個:

1、無參構造函數:object objAct = System.Activator.CreateInstance(Type類型對象名) ;

2、有參構造函數:object objAct = System.Activator.CreateInstance(Type類型對象名,string[]對象名) ;

下面就可以進行自己想做的操作了。比如:類型轉換啊、方法調用啊、屬性取值賦值,以上內容乃學習心得,有什麽不對的地方還請諒解,多多指正!

C# 反射小結