CodeDOM:命名参数
CodeDOM: Named Arguments
我正在尝试为构造函数调用生成代码。像
var obj = new Foo("bar", "baz", thirdParam: 5);
我的部分代码:
var arg1 = new CodePrimitiveExpression("bar");
var arg2 = new CodePrimitiveExpression("baz");
var arg3 = new CodePrimitiveExpression(5);
var objectCreate = new CodeObjectCreateExpression(typeof(Foo), arg1, arg2, arg3);
var decl = new CodeVariableDeclarationStatement("var", "obj", objectCreate);
这是生成的内容:
var obj = new Foo("bar", "baz", 5);
有什么方法(除了使用 CodeSnippetExpression)在 CodeDOM 中创建命名参数吗?
不,这不能使用 CodeDOM 完成(不使用您建议的代码片段)。命名参数 syntactic sugar 由 C# 编译器处理。
使用 CodeDOM,您将需要为每个参数提供一个值,即使它是 null
。
我正在尝试为构造函数调用生成代码。像
var obj = new Foo("bar", "baz", thirdParam: 5);
我的部分代码:
var arg1 = new CodePrimitiveExpression("bar");
var arg2 = new CodePrimitiveExpression("baz");
var arg3 = new CodePrimitiveExpression(5);
var objectCreate = new CodeObjectCreateExpression(typeof(Foo), arg1, arg2, arg3);
var decl = new CodeVariableDeclarationStatement("var", "obj", objectCreate);
这是生成的内容:
var obj = new Foo("bar", "baz", 5);
有什么方法(除了使用 CodeSnippetExpression)在 CodeDOM 中创建命名参数吗?
不,这不能使用 CodeDOM 完成(不使用您建议的代码片段)。命名参数 syntactic sugar 由 C# 编译器处理。
使用 CodeDOM,您将需要为每个参数提供一个值,即使它是 null
。