| 宣告位置 | 允許修飾詞 | 預設 |
| 編譯單元頂層 | public, internal | internal |
| 命名空間內部 | public, internal | internal |
| 類別內部 | public, protected, internal, private, protected internal, private protected | private |
| 結構內部 | public, internal, private | private |
實戰重構:Welcome 程式組件化
Step 1:建立類別庫
// WelcomeLibrary.cs
namespace MyProgram.CSharp.FirstApp {
public class WelcomeMessage {
private string _msg = "Welcome!";
public string Message {
get => _msg;
set => _msg = value;
}
}
}
編譯:csc /target:library WelcomeLibrary.cs → 產生 WelcomeLibrary.dll
Step 2:建立客戶端應用
// WelcomeApp.cs
using System;
using MyProgram.CSharp.FirstApp; // 匯入命名空間,簡化型別引用
class WelcomeApp {
static void Main() {
var wm = new WelcomeMessage();
Console.WriteLine(wm.Message);
Console.Write("請輸入姓名:");
string name = Console.ReadLine();
wm.Message = "Welcome " + name;
Console.WriteLine(wm.Message);
}
}
編譯:csc /reference:WelcomeLibrary.dll WelcomeApp.cs → 產生 WelcomeApp.exe
命名空間設計原則
- 公司.產品.功能:如
Contoso.Payments.Processing
- 避免與 .NET 基礎類別庫衝突(勿用
System、Microsoft 開頭)
- 穩定公開 API 的命名空間結構,內部實現可自由重構
- 使用
global using(C# 10+)集中管理專案通用匯入
掌握命名空間宣告與組件化編譯流程,是構建可維護、可擴展 .NET 應用的基石技能。
- 上一篇文章: C# using 指示詞深度解析:別名與命名空間導入的進階技巧與避坑指南
- 下一篇文章: 命名空間與組件:邏輯架構與物理部署的雙重邊界
Copyright ©
程式碼之家 All Rights Reserved