Sto cercando di capire le considerazioni progettuali del team che ha creato il metodo Environment.GetCommandLineArgs
.Environment.GetCommandLineArgs - perché è un metodo? Perché non una proprietà?
Potrebbe essere stata una proprietà statica, molto simile a System.Web.HttpContext.Current
. Dopo tutto, il valore restituito non dovrebbe cambiare una volta disponibile. Quindi è più simile a una proprietà dell'attuale processo in esecuzione.
So che qualsiasi proprietà in .NET è uno zucchero sintattico per metodi getter/setter. Ma questo è il motivo esatto per usare una proprietà piuttosto che un metodo getter esplicito.
O forse c'è qualcosa che mi manca qui?
Cosa ne pensi?
Il team BCL ha rispettato una distinzione semantica tra proprietà e metodi. Le proprietà vengono utilizzate solo quando il programmatore può/deve prendere in considerazione una chiamata a loro equivalente all'accesso a un campo. In questo caso, 'GetCommandLineArgs' non funziona in questo modo, quindi è un metodo. Pensa a come recupera o calcola il valore di nuovo ogni volta. –