2010-06-14 66 views
1

事件處理事件命名約定,我開始看到很多程序員這樣做:基於XAML的應用程序 - 爲C#

XButton.Click += OnXButtonClicked() 
... 
void OnXButtonClicked() 
{ ... } 

哪裏這個ON_慣例從何而來?就方法而言,它感覺不對。

我開始認爲這是很好,想知道別人怎麼想:

XButton.Click += HandleXButtonClick() 
... 
void HandleXButtonClick() 
{ ... } 

當使用智能感知,Visual Studio中處理這些像這樣:

XButton.Click += XButton_Click; 
... 
void XButton_Click(object sender, RoutedEventArgs e) 
{ ... } 

我尋求一些建議這些命名約定,並會非常感謝一些建議。

回答

3

因爲這些通常都是私有方法,所以名稱完全取決於你和你的團隊。事件處理程序僅在您的私有API中使用,並且是實現細節,這就是爲什麼在命名方面沒有任何官方指導的原因。

這就是說,我只是選擇一些對你和你的團隊有意義的東西,並堅持它的一致性。

就我個人而言,我不喜歡「OnXXX」的名字,因爲它有點誤導。實施活動的建議是使用OnXXX作爲引發事件XXX的受保護方法。將此名稱用作事件處理程序似乎不合適。

A HandleXXX名稱是有意義的,因爲這是一個事件訂閱,並且該方法正在「處理」事件。 Object_XXX語法的優點是作爲Visual Studio中的設計器默認使用的,所以它也是一個不錯的選擇。這就是說,它經常與私有變量和方法命名方案相沖突(因爲它們通常是小寫),並且會使像StyleCop這樣的工具發生抱怨。

+0

良好的信息!謝謝! – user118190 2010-06-14 19:12:34

0

我推薦使用ObjectName_EventName約定。這很容易閱讀,並告訴你到底你需要知道什麼,即哪個對象和哪個事件被連接到

0

爲了在整個項目中擁有一致的命名方案,我按照Skawalker的方式處理它,因爲Intellisense以這種方式進行命名。

相關問題