CodeDom可以在生成c#方法时创建可选参数吗?

时间:2011-01-19 21:04:05

标签: c# .net codedom

CodeDom可以在生成c#方法时创建可选参数并提供默认值吗?

例如:

public void ExampleMethod(int required
                          , string optionalstr = "default string"
                          , int optionalint = 10)

解决方案 我找到了一个简单的解决方法,您可以将默认值作为参数名称的一部分:

CodeParameterDeclarationExpression(typeof(int), "optionalint = 5");

这适用于我b / c我只使用CodeDom来生成C#代码。如果您需要支持多种语言,它将无法使用。

1 个答案:

答案 0 :(得分:5)

添加[Optional]属性 要指定默认值,请添加[[DefaultParameterValue(...)]属性。 (如果默认值为0null,则可以省略此属性。

我在我的博客上写了more detailed explanation