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

C# partial 部分類型入門指南(一)

     編輯:關於C語言

什麼是部分類型?

partial 部分類型是 C# 2.0 引入的語言特性,允許將單一類別、結構或介面的定義**拆分為多個部分**,分別實作於不同的原始碼檔案中。編譯器在編譯時會自動將所有部分合併為完整的型別定義,這是純編譯時期的語言層面處理,**不影響任何執行機制**。

適用場景

  1. 大型類別拆分:類別程式碼過長,不宜置於單一檔案維護
  2. 程式碼產生器隔離:設計工具自動產生的程式碼 (如 WinForms/WebForms 的 .Designer.cs) 與開發者手寫邏輯分離
  3. 團隊並行開發:多位開發者同時修改同一類別的不同功能區塊

基本語法範例

///  定義 MyClass 的第一部分 
public partial class MyClass
{
    public void ReturnString() { }
}

///  定義 MyClass 的第二部分 
// 此處可省略 public,因第一部分已宣告
partial class MyClass
{
    public int PartialValue;
}

class Program
{
    static void Main(string[] args)
    {
        // 實例化時,MyClass 已自動合併兩個部分
        MyClass obj = new MyClass();
        obj.PartialValue = 10;      // 來自第二部分的欄位
        obj.ReturnString();         // 來自第一部分的方法
    }
}

官方定義範例

public partial class Program
{
    static void Main(string[] args) { }
}

partial class Program
{
    public void Test() { }
}

核心觀念總結

  • 編譯時合併:IL 代碼中只存在完整合併後的類別
  • 零執行期成本:純語法糖,無效能負擔
  • 所有成員可見:各部分定義的欄位、方法、屬性、事件等,合併後皆為類別成員
  • 建構函式可分散:不同部分可定義不同建構函式,形成多載

下篇預告

下一篇將深入探討:

  • 部分類型的四大限制條件
  • 屬性 (Attribute) 的累加效應
  • 修飾符一致性規則 (abstract/sealed 衝突處理)
  • 基類與介面繼承的合併機制
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved