Immaginate codifica qualcuno il seguente:compilatore C# Enhancement Suggerimento
string s = "SomeString";
s.ToUpper();
Sappiamo tutti che nell'esempio di cui sopra, la chiamata al metodo “ToUpper()” non ha senso perché la stringa restituita non viene gestita a tutti . Ma ancora, molte persone commettono questo errore e passano il tempo a cercare di risolvere il problema chiedendosi "Perché i caratteri della mia variabile 'non sono maiuscoli" ????
Quindi non sarebbe bello se ci fosse un attributo che potrebbe essere applicato al metodo "ToUpper()" che darebbe un errore del compilatore se l'oggetto di ritorno non viene gestito? Qualcosa di simile a quanto segue:
[MustHandleReturnValueAttribute]
public string ToUpper()
{
…
}
Se l'ordine per questo codice per compilare correttamente l'utente avrebbe dovuto gestire il valore di ritorno in questo modo:
string s = "SomeString";
string uppers = s.ToUpper();
Credo che questo renderebbe più cristallino che si deve gestire il valore restituito altrimenti non c'è nessun punto per chiamare quella funzione.
Nel caso dell'esempio di stringa questo potrebbe non essere un grosso problema, ma posso pensare ad altri motivi più validi per cui questo sarebbe utile.
Cosa ne pensate?
Grazie.
L'ho già fatto, +1 –
@Rene: punto valido, +1 – Codex