首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

C# 反射獲取 DateTime 類型:Assembly.GetType 需完整命名空間

     編輯:程式設計疑難解答

錯誤代碼

Assembly sys = Assembly.Load("System, Version=2.0.0.0, ...");
Type t = sys.GetType("DateTime"); // 返回 null

原因

GetType 需要完整類型名稱(包含命名空間)。DateTime 位於 System 命名空間。

修正

Type t = sys.GetType("System.DateTime"); // 正確
// 或
Type t = Type.GetType("System.DateTime"); // 更簡潔

結構體 vs 類

DateTime 是結構體 (struct),但反射機制對結構體和類一視同仁,無需特殊處理。typeof(DateTime) 同樣可用。

獲取所有類型示例

foreach (Type type in sys.GetTypes()) {
    if (type.Name == "DateTime") Console.WriteLine(type.FullName);
}
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved