2009-05-27 15 views
9

So che la convenzione di denominazione per i metodi di classe in C# inizia con una lettera maiuscola e ogni nuova parola è una lettera maiuscola (ad esempio, GetDeviceName).Perché lo studio visivo rompe la convenzione di denominazione per i metodi in C#?

Quindi la mia domanda è perché quando creo un modulo, posto un controllo su di esso, quindi doppio clic sul controllo (per il metodo che deve essere creato automaticamente per me dall'IDE) ottengo un metodo che inizia con un non-capitale lettera? (Ad esempio s electButton_Click (object sender, EventArgs e))

risposta

11

La convenzione di denominazione per i gestori di eventi di controlli sono sempre stati controlName_EventName, in modo sostanzialmente, si riutilizza la propria convenzione di denominazione per il controllo, e poi infila sul nome dell'evento.

Questo potrebbe essere contrario allo standard di denominazione generale, ma è sempre stato così.

Il risultato di questo, è che strumenti come GhostDoc in grado di riconoscere questo formato, e quindi generare la documentazione che, mentre ancora generica, è di più per il punto, che se fosse per cercare di dedurre lo scopo del metodo di per sé .

Per esempio, il metodo del "controlName_EventName" potrebbe essere documentati in questo modo:

/// <summary> 
/// Handles the EventName event of the controlName control. 
/// </summary> 
/// <param name="sender">The source of the event.</param> 
/// <param name="e">The <see cref="System.EventArgs"/> instance 
/// containing the event data.</param> 
protected void controlName_EventName(object sender, EventArgs e) 
{ 

invece di più come questo (dal GhostDoc gestisce quanto sopra, sono pubblicità libbing qui in base all'esperienza con i nomi dei metodi cattivi):

/// <summary> 
/// Control names the event name. 
/// </summary> 
/// <param name="sender">The sender.</param> 
/// <param name="e">The e.</param> 
protected void controlName_EventName(object sender, EventArgs e) 
{ 
+0

non sapeva che i gestori di eventi avevano una convenzione di denominazione diversa. Grazie ! – thedrs

1

Perché in tal caso verrà utilizzato il nome del controllo del modulo poiché questo è il suo nome. Devo dire che preferisco in questo modo poiché mi dice il vero nome del controllo utilizzato e non una versione rinominata.

1

Ti sento. In realtà, ho un pò preferisco la seguente convenzione di denominazione:

OnselectButtonClick() 
3

Non si rompe rigorosamente la convenzione di denominazione .Net perché le linee guida si applicano solo a pubblici metodi. Tuttavia, potresti considerare di rompere lo spirito delle linee guida.

1

Non colpire la scheda così rapidamente quando si collegano i suddetti gestori di eventi;) Meh, è ​​tutto generato. Potrebbero cambiare l'involucro, ma l'altra metà piangerebbe per questo. È una situazione di sconfitta per loro.

Problemi correlati