+展開
-c#using
system;
//匯入相應的命名空間
using
system.reflection;
using
system.io;
class
//宣告assembly型別物件am
assembly am;
try//捕獲檔案未找到異常
catch
(filenotfoundexception e) "
, e.message); }
//捕獲空物件引用異常
catch
(nullreferenceexception e) "
, e.message); }
//捕獲一般異常
catch
(exception e) "
, e.message); }
finally }
}//定義disallam方法,用於顯示程式集列表
static
void
disallam() "
, a.fullname); }
} }
class
classb
型別的資訊**********==="
, fullname);
//獲取type物件的所有公共成員並儲存到mi陣列
memberinfo mi = tp.getmembers();
//遍歷並輸出mi陣列所有的子項屬性
foreach
(memberinfo m
inmi)
,名稱->"
,m.membertype, m.name); }
//獲取type物件所實現的介面並儲存到itp陣列
type itp = tp.getinte***ces();
//判斷itp陣列是否有子項,如果有則輸出子項屬性
if (itp.length != 0)
實現的介面型別->"
, fullname, t.fullname); }
}else
不實現的任何介面型別"
, fullname); }
} }
+展開
-c#using
system;
//匯入相應的命名空間
using
system.reflection;
using
system.io;
assembly am;
trycatch
(filenotfoundexception e) "
, e.message); }
+展開
-c#am = assembly.loadfrom();
+展開-c#
public
class
oldclass }
在目錄下新建乙個程式檔案,並命名為newclass.cs,編寫**如**7.10所示。
**7.10 第2個外部類:newclass.cs
+展開
-c#public
class
newclass }
在目錄下新建乙個程式檔案,並命名為myclass.cs,編寫**如**7.11所示。
**7.11 第3個外部類:myclass.cs
+展開
-c#public
class
myclass
//定義public許可權的methodtxt例項方法
public
string
methodtxt()
}
C 反射教程(1)
反射技術在多數.net程式中不會被使用,但是它的確是非常重要的技術,在很多應用程式中有著不可替代的作用。net的應用程式體系分為以下4個層次 程式集 assembly 模組 module 型別 class 和型別成員 member 反射技術可以在程式執行時獲取這4個層次的元資料資訊。只要掌握了反射技...
java反射 4 反射賦值
本篇介紹利用反射給物件賦值 方法1 獲得並使用預設構造器建立類的物件 並對物件賦值 這裡類用的是person類 屬性有 id name address 來做例子 public class person public void setid integer id public string getnam...
反射 4 Type反射
1 activator.createinstance type t 會動態呼叫類的public無參建構函式建立乙個物件,返回值就是建立的物件,如果類沒有無參建構函式就會報錯。2 應用 動態建立物件sayhello。介面宣告到單獨的專案中,避免迴圈引用。如下 using system using sy...