我对这段代码有疑问:
IList<dynamic> list = await GetApiUrl("EndpointName").GetJsonListAsync(); // Call to API using FLUrl
List<Model> modelList = new List<Model>();
foreach(var item in list)
{
var model = new Model()
{
GuidId = new Guid(item.Id),
Name = item.Name
}
modelList.Add(model);
}
public class Model
{
public Guid GuidId { get; set; }
public string Name { get; set; }
}
示例 API 响应:
[
{
"Id": "9232f70b-bdc6-402c-9fab-250977e9a0c1",
"Name": "Sample name"
},
{
"Id": "0f746670-e057-4c13-9a82-c98419d09e55",
"Name": "Sample name"
},
{
"Id": "370cce64-37f6-4e71-a44e-32168c3ef2cb",
"Name": "Sample name"
}
]
item.Id访问时或item.Name即使我已确认 item 对象确实具有Id和成员,我也会收到此异常Name(请参见下图)。
Microsoft.CSharp.RuntimeBinder.RuntimeBinderException:
''System.Dynamic.ExpandoObject' does not contain a definition for 'Id''
我在这里做错了什么?
