命名参数在C#中调用可变参数编号
假设我有以下C#函数:
void Foo(int bar, params string[] parpar) { }
我想使用命名参数调用此函数:
Foo(bar: 5, parpar: "a", "b", "c");
编译器给出错误消息:“命名参数不能位于位置”,因为我在“b”和“c”之前没有名称。
有没有办法使用命名参数而无需手动将params表示为数组?
不,除了明确指定数组之外,没有语法糖可以使变量参数命名。
请注意,如果允许这样的语法(查看定位参数结束的位置),则需要单独命名params
参数,但只有一个名称。
添加这个以防万一有人像谷歌一样从谷歌到这里。 当您没有明确命名所有参数并且所有明确命名的参数都不在最后时,您也会收到此错误。
上述就是C#学习教程:命名参数在C#中调用可变参数编号分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
void Foo( int parameterOne, int parameterTwo, int parameterThree) {}; // throws Named Arguments cannot precede positional Foo(parameterOne: 1, parameterTwo:2, 3); //This is okay Foo(1, parameterTwo:2, parameterThree:3);
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1039068.html