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);
如需詳細資訊,請參閱部分類別和方法。
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應