c# - 向 ExpandoObjects 添加方法

标签 c# dynamic .net-4.0 expandoobject

更新

问题不在于代码,问题在于您显然无法从即时窗口评估动态对象。


我正在尝试将方法附加到 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/

相关文章:

java - 代码有时会返回 Integer.MAX_VALUE。无法弄清楚原因

c# - 基于动态属性创建 RavenDB 索引

c# - 两个字符串数组的完全外连接

c# - DeclaringType 和 ReflectedType 的区别

c# - 在 NHibernate 上使用 Linq 的 IN 运算符

mysql - 显示第二个表中条目数的动态值

c# - 如何使用 C# 删除 Excel 复制焦点

.net-4.0 - PROMOTE TRANSACTION 请求失败,因为没有事件的本地事务

c# - Asp.net MCV4 框架问题

c# - C# 中的麦克风到扬声器音频流