将自定义参数添加到休息回调操作
本文关键字:回调 操作 自定义 参数 添加 | 更新日期: 2023-09-27 18:32:02
我在编写一个非常基本的工具时遇到了问题,该工具用于在WPF窗口中列出视频游戏中的一些"物品"(以及它们在游戏内拍卖行上各自的价格)。
我从 REST 服务中获取过去 30 天特定项目 (id) 的价格趋势,该服务为我提供了如下内容:
[{"timestamp":"1453892281000","buy":"3411","sell":"3791"},{...},...]
我一次请求大约 100 个项目的价格趋势(全部异步),在处理响应数据时,我通过 RestSharp 获得一个包含响应所有字段的类。现在的问题是我无法将响应数据与项目匹配,因为其余响应不会向我提供响应。有没有办法将ID(整数)添加到操作/回调中?
public static void getItemPriceHistory(int itemId, ListingsView view)
{
var request = new RestRequest("itemPriceTrend/" + itemId);
Action<List<RestItemPriceHistory>> ariph = view.processItemPriceHistory;
executeAsync(request, ariph);
}
public static void executeAsync<T>(RestRequest request, Action<T> callback) where T : new()
{
var client = new RestClient();
client.BaseUrl = BaseUrl;
var asyncHandle = client.ExecuteAsync<T>(request, aresp => {
callback(aresp.Data);
});
}
我希望我的问题可以理解,如果不是,请说出来,我会尽力提供不同的解释:)
我刚刚发现了我该怎么做:只需向操作添加第二个参数:
Action<List<RestItemPriceHistory>, int> ariph = view.processItemPriceHistory;
正因为如此,当然也在回调中:
callback(aresp.Data, itemId);
现在看起来很简单,不知道为什么我没有早点尝试:)