partial 方法 (C# 參考)

部分方法會在部分型別的某一部分中定義其簽章,並在類型的另一部分中定義其實作。 部分方法可讓類別設計工具提供方法攔截程序,類似於事件處理常式,開發人員可以決定是否實作。 如果開發人員未提供實作,編譯器會在編譯時期移除簽章。 下列條件適用於部分方法:

  • 宣告必須以內容關鍵字 partial 作為開頭。

  • 部分型別的兩個部分中的簽章必須相符。

建構函式、完成項、多載運算子、屬性宣告或事件宣告中皆不允許partial 關鍵字。

partial 在下列情況中不需要有實作:

不符合上述限制的任何方法 (例如 public virtual partial void 方法) 都必須提供實作。

下列範例顯示部分類別之兩個部分中定義的部分方法:

namespace PM
{
    partial class A
    {
        partial void OnSomethingHappened(string s);
    }

    // This part can be in a separate file.
    partial class A
    {
        // Comment out this method and the program
        // will still compile.
        partial void OnSomethingHappened(String s)
        {
            Console.WriteLine("Something happened: {0}", s);
        }
    }
}

Partial method 也可以與來源產生器搭配使用。 例如,下列模式可用來定義 RegEx:

[GeneratedRegex("(dog|cat|fish)")]
partial bool IsPetMatch(string input);

如需詳細資訊,請參閱部分類別和方法

另請參閱