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

C# 反射概念以及實例詳解(二):注意事項、靜態方法調用與無參數方法處理

     編輯:關於C語言

反射學習六大注意事項

  1. 組件路徑必須絕對路徑:Assembly.LoadFile 不支援相對路徑
  2. 命名空間+類別名稱完整指定:ass.GetType("Namespace.ClassName")
  3. 非靜態方法需實例化:ass.CreateInstance("Namespace.ClassName") 取得實例再 Invoke
  4. 參數陣列兩種寫法:new Object[] { "test", 1 } 或分別指定
  5. 靜態方法 Invoke 第一參數被忽略:可傳 null、實例或任意物件
  6. 無參數靜態方法:Invoke(null, null) 兩參數皆為 null

執行輸出驗證


WriteString:test1
StaticWriteString:test
StaticWriteString:test
StaticWriteString:test
NoParaWriteString

靜態類別特殊處理

  • 靜態類別不可實例化 → 省略 CreateInstance
  • 直接 method.Invoke(null, parameters) 第一參數無視
  • 若誤傳非相容實例 → 執行時錯誤 (非靜態方法情況)

完整系列總結

兩部分涵蓋:反射基本概念 → 類別庫編譯 → 三種方法調用實例 (實例/靜態有參/靜態無參) → 六大注意事項 → 靜態類別處理 → 輸出驗證。

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