下面的代码只是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();
...
}
}