首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

反射學習系列 1-反射入門 (一) Type 類別與型別資訊獲取

     編輯:關於C語言

反射概述

Reflection(反射)是 .NET 獲取執行期型別資訊的機制。應用程式由組件、模組、型別組成,反射提供程式化方式在執行期存取這些構成要素的資訊。核心類別位於 System.Reflection:Assembly、Type、MethodInfo、FieldInfo、EventInfo 等。

Type 類別核心地位

System.Type 是反射核心。CLR 為每個被反射請求的型別建立一個 Type 物件,透過其方法、欄位、屬性、巢狀類別可查詢該型別所有資訊。

獲取型別資訊範例

MyClass m = new MyClass();
Type type = m.GetType();
Console.WriteLine("型別名:" + type.Name);
Console.WriteLine("型別全名:" + type.FullName);
Console.WriteLine("命名空間:" + type.Namespace);
Console.WriteLine("組件名:" + type.Assembly);
Console.WriteLine("模組名:" + type.Module);
Console.WriteLine("基底類別:" + type.BaseType);
Console.WriteLine("是否為類別:" + type.IsClass);
Console.WriteLine("類別公用成員:");
MemberInfo[] members = type.GetMembers();
foreach (var item in members)
    Console.WriteLine("{0}:{1}", item.MemberType, item);

輸出範例

程式會列出 MyClass 的所有公用成員(欄位、方法、屬性),並顯示其 MemberType 與完整簽章。這是反射探索未知型別結構的基礎技術。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved