ScA*_*er2 4 c# dynamic expando
有没有办法使用"IDictionary"样式查找动态访问expando的属性?
var messageLocation = "Message";
dynamic expando = new ExpandoObject();
expando.Message = "I am awesome!";
Console.WriteLine(expando[messageLocation]);
Run Code Online (Sandbox Code Playgroud)
Bro*_*ass 11
你必须投射ExpandoObject到IDictionary<string, object>:
var messageLocation = "Message";
dynamic expando = new ExpandoObject();
expando.Message = "I am awesome!";
var expandoDict = (IDictionary<string, object>)expando;
Console.WriteLine(expandoDict[messageLocation]);
Run Code Online (Sandbox Code Playgroud)
(此外,必须键入您的expando变量,dynamic因此在运行时确定属性访问权限 - 否则您的示例将无法编译)