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

介面成員全權名稱:命名空間、巢狀介面與跨組件引用的標準化路徑

     編輯:關於C#

全權名稱(Fully Qualified Name)是介面成員在型別系統中的唯一標識,格式嚴格規範:

基本構成


// 介面在全域命名空間
IControl.Paint

// 介面在命名空間內
System.ICloneable.Clone

// 巢狀介面
OuterNamespace.InnerInterface.Method

構建規則

  1. 起始:介面完整名稱(含命名空間層級,以點分隔)
  2. 連接:單一點號 .
  3. 結尾:成員簡單名稱(方法名、屬性名、事件名、索引子用 this)
  4. 成員必須在該介面宣告範圍內(含繼承而來),否則非法

合法與非法示範


interface IControl { void Paint(); }
interface ITextBox : IControl { void SetText(string); }

// 合法
IControl.Paint
ITextBox.SetText
ITextBox.Paint        // 繼承自 IControl,屬於 ITextBox 成員集合

// 非法
ITextBox.Paint()      // 括號不屬於名稱一部分
IControl.SetText      // IControl 未宣告 SetText
System.IControl.Paint // 若 IControl 不在 System 命名空間

跨組件引用

組件元資料中儲存完整全權名稱。反射 API Type.GetMethod("System.ICloneable.Clone")、MemberInfo.MetadataToken 均依賴此標準化路徑。強名稱組件載入時,執行階段以 AssemblyQualifiedName(含組件名、版本、公開金鑰)進一步唯一識別。

實務應用場景

  • 程式碼產生器輸出型別註冊資訊
  • 序列化格式中儲存型別身分(如 JSON $type 欄位)
  • 動態載入與反射調用:type.GetInterface("ICloneable").GetMethod("Clone")
  • 診斷日誌記錄完整呼叫鏈

掌握全權名稱規範,是進行進階反射、序列化、程式碼生成、跨組件協作開發的基礎素養。

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