Can CodeDom può creare argomenti facoltativi durante la generazione di un metodo C# e fornire un valore predefinito?CodeDom può creare argomenti facoltativi durante la generazione di un metodo C#?
Ad esempio:
public void ExampleMethod(int required
, string optionalstr = "default string"
, int optionalint = 10)
Soluzione ho trovato una soluzione semplice per questo, si può semplicemente mettere il valore di default come parte del nome argomento:
CodeParameterDeclarationExpression(typeof(int), "optionalint = 5");
Questo funziona per me b/c sto usando solo il CodeDom per produrre codice C#. Non funzionerà se devi supportare più lingue.
Nota che solo perché si può fare questo non significa che sia una buona idea :) –
Sono sorpreso che questo non dia un errore. – SLaks