开发者

Can CodeDom create optional arguments when generating a c# method?

开发者 https://www.devze.com 2023-02-05 08:29 出处:网络
Can CodeDom create optional arguments when generating a c# method and provide a default value? For example:

Can CodeDom create optional arguments when generating a c# 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.

0

精彩评论

暂无评论...
验证码 换一张
取 消