Can CodeDom create optional arguments when generating ac# method and provide a default value?
For example:
public void ExampleMethod(int required
, string optionalstr = "default string"
, int optionalint = 10)
Solution I've found a simple workaround for this, you can just put the default value in as part of the argument name:
CodeParameterDeclarationExpression(typeof(int), "optionalint = 5");
This works for me b/c I'm only using the CodeDom to produce C# code. It won't work if you need to support multiple languages.
Yes.
Add the [Optional]
attribute.
To specify the default value, add the [[DefaultParameterValue(...)]
attribute. (If the default value is 0
or null
, this attribute can be omitted.
I wrote a more detailed explanation on my blog.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.