建議137:委託和事件類型應添加上級後綴
委託類型本身是一個類,考慮讓派生類的名字以基類名字作爲後綴。事件類型是一類特殊的委託,所以事件類型也遵循本建議。
委託和事件的正確的命名方式有:
public delegate void HttpContinueDelegate(int statusCode, System.Net.WebHeaderCollection httpHeaders); public delegate bool ValidateValueCallback(object value); public delegate void AsyncCallback(IAsyncResult ar); public delegate void PropertyChangedCallback(DependencyObject d,DependencyPropertyChangedEventArgs e); public delegate void MouseEventHandler(object sender, MouseEventArgs e); public delegate void SizeChangedEventHandler(object sener, SizeChangedEventArgs e); public delegate void UnhandledExceptionEventHandler(object sender, UnhandledExceptionEventArgs e);
若果用傳統方式,我們可能看不出來這些類型是有基類的,但是委託和事件的關鍵字delegate和event已經指明瞭後面類型的基類是Delegate。委託按照委託類型的作用又單純分爲Delegate結尾和CallBack結尾,我們在聲明委託的時候一定要注意區分這一點。如果委託用於回調性質,則使用CallBack結尾。
委託和事件不妥的命名方式,就是從命名上根本看不出它們的類型,如下:
public delegate void DoSomething(int a, int b); public delegate void MouseClick(int a, int b);
轉自:《編寫高質量代碼改善C#程序的157個建議》陸敏技