使用expando在编译时出错



下面的代码只是Expando 的一个小示例

使用系统;使用System.Collections.Generic;使用System.Dynamic;

namespace IssueCatalogExample
{
    class IssueCatalogUsingExpando
    {
         dynamic _expando = new ExpandoObject();
        _expando.something = new ExpandoObject();
    }
}

出于某种原因,当我说dynamic_expando=new ExpandoObject();时;,一切都很好。但当它转到下一行代码时,我说_expando.something,它说"无法解析符号expando"。我不知道为什么。根据我以前的经验,我几乎记得它会动态地创建该成员,不会有编译时错误,但这里似乎不是这样。有什么建议吗?

只有声明才能出现在类级别。您正在尝试进行属性分配:

_expando.something = new ExpandoObject();

这只能发生在方法主体内部。例如,您可以将它放在构造函数中:

class IssueCatalogUsingExpando
{         
    dynamic _expando = new ExpandoObject();
    public IssueCatalogUsingExpando() 
    {
         _expando.something = new ExpandoObject();
         ...
    }
}

相关内容

  • 没有找到相关文章

最新更新