2

首先,感谢@gregdennis。我使用 Manatee Trello 命名空间从 Trello 板查询和获取操作。在每个请求上获取实体都有一个限制(默认为 50 个)。在我阅读的在线 API 文档中,有几个参数,例如“限制”和“之前”。我如何将这些参数传递给我的代码中的方法,我的示例获取代码在这里:

    Board board = new Board(boardId);
    var actions = board.Actions.ToList();
4

1 回答 1

0

在各种集合类型上有一些扩展方法,它们将修改 API 查询以添加这些参数。

您要查找的第一个是Limit(this ReadOnlyActionCollection, int). 只需传递您想要的操作数。有效值(根据 API)为 0-1000。

第二个是Filter(this ReadOnlyActionCollection, DateTime?, DateTime?)允许您过滤since(开始)和before(结束)。(API 文档说这lastView是参数的有效选项since。目前不支持。)

编辑

请注意,这些扩展方法的工作方式与 LINQ 类似:它们返回查询的新实例。在枚举集合之前,查询不会执行。

编辑 2

要获得任何集合,您必须首先拥有一个 Trello 实体(板、列表、卡片等)。没有定义它的对象,集合是没有意义的。例如,板子有列表,列表有卡片,卡片有清单,所有这些都有动作。

因此,要获得包含一张卡片的 500 个最近操作的集合,

var card = new Card("<ID>");
var actions500 = card.Actions.Limit(500);
foreach(var action in actions500)
{
    Console.WriteLine(action);
}

编辑 3

好的。我看到了问题。我没有在扩展中使用this关键字。Limit()我会解决这个问题并发布更新。

在此之前,请静态使用该方法:

Collections.Limit(card.Actions, 100);

编辑 4

从 Manatee.Trello 版本 3.0.0 开始,Limit是所有集合的属性。大多数类型的默认值为 50。

于 2016-12-14T01:03:27.780 回答