di MSDN VS2010 Named and Optional Arguments (C# Programming Guide) ci parla di parametri opzionali in C#, che mostra il codice come mi aspetto:Valore predefinito del parametro OptionalAttribute?
public void ExampleMethod(int required,
string optionalstr = "default string",
int optionalint = 10)
Ok, ma si dice anche:
È possibile anche dichiarare opzionali parametri utilizzando .NET Classe OptionalAttribute. I parametri OptionalAttribute non richiedono un valore predefinito.
ho letto MSDN's OptionalAttribute page, e le ricerche fatto on-line (che mostra un sacco di persone che chiedono parametri OptionalAttribute non può essere consumato da C# -? Sto cercando di indovinare questi commenti sono stati fatti prima di C# 4), ma posso' t trovare la risposta a due domande:
Se uso OptionalAttribute per definire un C# parametro come optional:
- quale valore sarà usato se chiamo quel metodo e non specificare il valore del parametro?
- questo valore verrà valutato in fase di compilazione o in fase di esecuzione?
Eseguirlo nel debug e controllare il suo valore. Sospetto nulla. –
Beh, sospetto 'default (T)' che è nullo o zero. –