我正在开发一个程序,该程序使用* dll工具包来分析PC游戏中的交易拍卖(如ebay)。
该工具包有一个类" AuctionResponse"以下字段:
public List<AuctionInfo> AuctionInfo { get; set; }
为了访问列表,我调用以下方法:
AuctionResponse.AuctionInfo
然后我将列表数据转换为数据表。
datagrid1.DataSource = AuctionResponse.AuctionInfo;
但是,列表中的一个项目本身就是一个对象,我无法弄清楚如何直接访问它。
例如,如何访问AuctionInfo ItemData信息以进行进一步分析?该工具包已添加为参考,我无法编辑其源代码。
public class AuctionInfo
{
public ItemData ItemData { get; set; }
public string BidState { get; set; }
public uint BuyNowPrice { get; set; }
public uint CurrentBid { get; set; }
public int Expires { get; set; }
}
public class ItemData
{
public long AssetId { get; set; }
public ushort Assists { get; set; }
public List<Attribute> AttributeList { get; set; }
public ushort CardSubTypeId { get; set; }
}
/////////////////////////////////////////////// //////////////
private async void button1_Click(object sender, EventArgs e)
{
var tradePileResponse = await _client.GetTradePileAsync();
rb1.Text = string.Format("Found {0} tradepile items",
tradePileResponse.AuctionInfo.Count);
datagrid1.DataSource = tradePileResponse.AuctionInfo.ItemData;
当我添加.ItemData时出现错误:
错误CS1061&#39;列表&#39;不包含&#39; ItemData&#39;的定义没有扩展方法&#39; ItemData&#39;接受类型&#39; List&#39;的第一个参数。可以找到(你错过了使用指令或程序集引用吗?)
答案 0 :(得分:0)
我想通过迭代使用foreach循环的列表来解决我的问题。出于某种原因,一些元素在循环内变得可访问。非常感谢@Sam Pearson和@Mike McCaughan的建议。
var tResponse = await _client.GetAsync();
foreach (var response in tResponse.ListInfo)
dataGridtest.Rows.Add( response.ItemData.ResourceId,
response.Item,
response.Date,
response.Expiration,
response.Status
);