gpt4 book ai didi

c#-4.0 - 他们是如何在 Massive Micro-ORM、多个 args 参数中实现这个语法的?

转载 作者:行者123 更新时间:2023-12-02 21:44:46 26 4
gpt4 key购买 nike

在此页面上,Scott Hanselman显示了来自 Micro-ORM Dapper 和 Massive 的两个示例,Massive-example 引起了我的兴趣,因为我不知道他们如何实现该语法。

示例如下,我将把它分成几行,而不是一长行:

var tbl = new Products();
var products = tbl.All(where: "CategoryID = @0 AND UnitPrice > @1",
orderBy: "ProductName", limit: 20, args: 5,20);
^----+---^
|
+-- this

他们是如何实现这个语法的,允许args有多个值?我假设基于 params 的参数,因为这是唯一允许这样做的东西,但我不明白他们如何构建允许这种情况的方法,因为在我看来,我所做的一切最终提示命名参数和固定位置参数的顺序错误。

我尝试了这样的测试方法:

public static void Test(string name, int age, params object[] args)
{
}

然后使用命名参数:

Test(age: 40, name: "Lasse", args: 10, 25);

但我得到的只是这个:

Named argument specifications must appear after all fixed arguments have been specified

很明显这是错误的。另外,我在源代码中看不到任何允许这样做的内容,但也许我找错了地方。

我在这里缺少什么?

最佳答案

事实上,我认为 Hanselman 先生展示了一些无法编译的代码(哎呀,我真的敢这么说吗?)。 只能让它像这样工作:

 Test(age: 40, name: "Lasse", args: new object[] { 10, 25 });

关于c#-4.0 - 他们是如何在 Massive Micro-ORM、多个 args 参数中实现这个语法的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6145685/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com