更新
问题不在于代码,问题在于您显然无法从即时窗口评估动态对象。
我正在尝试将方法附加到 ExpandoObject 但不确定如何让它工作。这是我的代码:
dynamic myObj = new ExpandoObject();
myObj.First = "Micah";
myObj.Last = "Martin";
myObj.AsString = new Func<string>(() => myObj.First + " " + myObj.Last);
//No matter what I do I get 'object' does not contain a definition for 'AsString'
myObj.AsString;
myObj.AsString();
myObj.AsString.Invoke();
有人知道怎么做吗?
最佳答案
你确定你包含了所有代码吗?
我刚刚测试并运行了以下命令并且成功了:
dynamic obj = new ExpandoObject();
obj.First = "Hello";
obj.Last = "World!";
obj.AsString = new Func<string>(() => obj.First + " " + obj.Last);
// Displays "Hello World!"
Console.WriteLine(obj.AsString());
关于c# - 向 ExpandoObjects 添加方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3727531/