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

C# 命名空間完整指南:定義、巢狀、using、別名與最佳實務

     編輯:關於C語言

什麼是命名空間?

命名空間提供邏輯上組織相關類型的方式,避免名稱衝突。它不是實體檔案或組件,單純是編譯時期的邏輯結構。

基本定義與巢狀結構

namespace CustomerPhoneBookApp
{
    public struct Subscriber { ... }
}

// 巢狀命名空間
namespace Wrox.ProCSharp.Basics
{
    class NamespaceExample { ... }
}
// 等同於
namespace Wrox { namespace ProCSharp { namespace Basics { ... } } }

完整型別名稱包含命名空間:Wrox.ProCSharp.Basics.NamespaceExample。

using 指令:簡化型別參考

using System;
using Wrox.ProCSharp;

// 此處可直接使用 NamespaceExample
var obj = new NamespaceExample();
  • using 僅提供編譯時期的別名便利,不建立實體連結(不同於 C++ #include)。
  • 慣例:所有 C# 檔案頂端皆有 using System;。

命名空間別名:解決同名衝突

using Introduction = Wrox.ProCSharp.Basics;

var ex = new Introduction.NamespaceExample();
Console.WriteLine(ex.GetNamespace()); // 輸出 Wrox.ProCSharp.Basics

適用於:命名空間過長、或兩個命名空間包含同名類型時。

命名空間與組件的關係

  • 單一組件可包含多個命名空間。
  • 同一命名空間的類型可分散在多個組件中。
  • 公司應訂定命名空間命名規範(如 CompanyName.ProductName.Module),避免內外部型別衝突。

最佳實務建議

  1. 專案屬性中設定 Default Namespace,新增類別自動套用。
  2. 資料夾結構對應命名空間層級(VS 預設行為)。
  3. 避免在巢狀命名空間中宣告多部分命名空間(不支援)。
  4. 公開程式庫請使用穩定、唯一的根命名空間(含公司網域)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved