Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/337.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 动态物体投掷';不包含对…';集合中存在成员时发生异常_C#_Dynamic_Xamarin.android_Expandoobject - Fatal编程技术网

C# 动态物体投掷';不包含对…';集合中存在成员时发生异常

C# 动态物体投掷';不包含对…';集合中存在成员时发生异常,c#,dynamic,xamarin.android,expandoobject,C#,Dynamic,Xamarin.android,Expandoobject,我对这段代码有问题: 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() {

我对这段代码有问题:

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; }
}

我在访问
item.Id
item.Name
时遇到此异常,即使我已确认item对象确实具有
Id
Name
成员(请参见下图)


我在这里做错了什么?

我已经找到了导致问题的原因,但问题相当严重

这段代码是Xamarin.Android应用程序的一部分,自从我开始处理这个项目以来,IDE中的异常设置对我来说非常重要,因为所有异常都禁用了“发生此异常时中断”。昨天(因为我厌倦了在文件中查找异常抛出的位置),我启用了该复选框,以便查看异常在运行时抛出的位置以及异常详细信息

当我在没有调试的情况下启动这个应用程序时,我得到了一个启示,它实际上可以工作(即使仍然抛出异常)。然后我想起了我昨天做的事情,并恢复了IDE中的异常设置,然后,TA DAAA,它工作了


我想这与Xamarin及其处理异常的方式有关。如果有人能详细说明这种行为,我很乐意接受他的回答

Id
Name
属性的值,而不是属性本身。无论如何,为什么您有一个动态对象,为什么不直接反序列化到
模型
?是的,它们是
集合的值,但是当与成员访问操作符
一起使用时,动态对象不应该返回键的值(如果存在)?我使用IList是因为在IFlurlRequest上调用GetJSonListSync()时,FLUrl扩展将返回IList。参考源代码:事实上,是的,你是对的。这对我来说很管用:@Crowcoder你知道为什么我的代码不起作用吗?不,我在想一些事情,但我什么也没得到。我差点让你在不调试的情况下尝试,但我调试的时候没有发生,所以我没有问。我在谷歌搜索时遇到一个博客上的问题,上面提到了这个问题,但我关闭了它。
[
    {
        "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"
    }
]
Microsoft.CSharp.RuntimeBinder.RuntimeBinderException: 
''System.Dynamic.ExpandoObject' does not contain a definition for 'Id''