每种类型的动作都是该类的子Action
类。子类有一个名为的属性Data
,其中包含该类型操作的特定信息。
举个例子,如果你想为一个板打印所有创建卡片的动作,你可以这样做:
var board = trello.Boards.WithId("a board id");
foreach (var action in trello.Actions.ForBoard(board).OfType<CreateCardAction>())
{
Console.WriteLine(action.Date + " " + action.Data.Card.Name);
}
这将从 trello 获取所有板操作,然后在内存中过滤。出于性能原因,您可以告诉 Trello.NET 仅通过传递如下附加参数来请求特定的操作类型:
foreach (var action in trello.Actions.ForBoard(board,
new[] { ActionType.CreateCard }).OfType<CreateCardAction>())
{
Console.WriteLine(action.Date + " - " + action.Data.Card.Name);
}
由于可能有很多动作 trello 使用分页。您可以传递一个Paging
参数来告诉 trello 页面索引和页面大小。以下表示每页有 100 个动作,而您想要第一页 (0)。
foreach (var action in trello.Actions.ForBoard(board,
new[] { ActionType.CreateCard },
paging: new Paging(100, 0)).OfType<CreateCardAction>())
{
Console.WriteLine(action.Date + " - " + action.Data.Card.Name);
}
有一个名为的扩展方法AutoPaged()
将有助于分页。添加 using 语句...
using TrelloNet.Extensions;
...并使用AutoPaged()
. Trello.NET 将根据需要自动获取新页面。
foreach (var action in trello.Actions.AutoPaged().ForBoard(board,
new[] { ActionType.CreateCard }).OfType<CreateCardAction>())
{
Console.WriteLine(action.Date + " - " + action.Data.Card.Name);
}
注意:自从新动作类型添加到 Trello.NET 以来已经有一段时间了,所以可能有一些新动作类型无法识别......