我們知道乙個類中的屬性應該用名詞或名詞性短語,方法用動詞或動賓短語;但是委託的例項卻似乎有一些游離。因為在 .net 中委託代表的是乙個動作,既可以把它看作是名詞,也可以看作是動詞。在用法上,既可以像屬性和變數一樣被各種傳遞,也可以像乙個方法一樣被呼叫。
那麼委託例項的命名,應該遵循屬性和變數的命名,還是遵循方法的命名呢?
委託的例項可以當作屬性或者變數使用:
var action =()
=> console.
writeline
("walterlv is a 逗比"
);
委託的例項也可以當作方法使用:
var action =()
=> console.
writeline
("walterlv is a 逗比");
action()
;
於是委託的命名方式遷就名詞還是動詞呢?
在微軟的官方文件 naming guidelines 中提到了 .net 中約定的命名方式。對於委託的命名,實際上只在 names of type members 中提到了,不過提及的實際上是事件型的委託,而不是一般的委託例項。然後,微軟其他地方的官方文件中也沒有單獨提及委託的命名方式。
為了弄清楚第一方**的命名規則,我去 上找了一些使用了委託的**,然後發現,對於action
和func
系列委託的命名,有以下這些(部分名稱只保留了字尾進行合併):
使用名詞的:
使用動詞的:
使用縮略詞的:
我把縮略詞單獨拿出來,是因為縮寫了以下就看不出來這到底是縮自名詞還是縮自動詞。
基本上可以確定:
委託例項的命名是 —— 乙個表示動作的名詞!
參考資料
我的部落格會首發於 而 csdn 和僅從其中摘選發布,而且一旦發布了就不再更新。
理解c 中委託
1.我們對委託做乙個總結 委託是乙個類,它定義了方法的型別,使得可以將方法當作另乙個方法的引數來進行傳遞,這種將方法動態地賦給引數的做法,可以避免在程式中大量使用if else switch 語句,同時使得程式具有更好的可擴充套件性。正確理解委託的列子 usingsystem usingsystem...
C 中委託的使用
在類中宣告乙個委託 關鍵字 delegate 類似於定義了乙個抽象函式 public delegate int add int m,int n 定義它的例項,如a public add a 在使用它的類中具體實現並進行關聯 例如add宣告及例項化是在類c中,則在使用的它的類如form1類中具體寫個方...
C 中委託與事件
c 為了型別安全,預設並不支援指標。而是採用委託的方式。委託的宣告 屬性 修飾符 delegate 返回型別 委託型別名 引數列表 其中返回型別和引數列表共同決定了委託型別能關聯的一組方法 public delegate int tdelegate int a,int b 宣告委託 在類classd...