我有以下代码,就像一个Expando的小样本
使用System; 使用System.Collections.Generic; 使用System.Dynamic;
namespace IssueCatalogExample
{
class IssueCatalogUsingExpando
{
dynamic _expando = new ExpandoObject();
_expando.something = new ExpandoObject();
}
}
出于某种原因,当我说动态_expando = new ExpandoObject();时,一切都很好。但当它进入下一行代码时,我说_expando.something它说“无法解析符号expando”。我不知道为什么会这样。我几乎记得我以前的经验,它动态地创建该成员,并且没有编译时错误,但这似乎不是这种情况。有什么建议吗?
答案 0 :(得分:1)
只能在类级别进行声明。您正在尝试执行属性分配:
_expando.something = new ExpandoObject();
只能在方法体内发生。例如,您可以将它放在构造函数中:
class IssueCatalogUsingExpando
{
dynamic _expando = new ExpandoObject();
public IssueCatalogUsingExpando()
{
_expando.something = new ExpandoObject();
...
}
}