问题标签 [expandoobject]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 向 ExpandoObjects 添加方法
更新
问题不在于代码,问题在于您显然无法从即时窗口评估动态对象。
我正在尝试将方法附加到 ExpandoObject 但不确定如何使其工作。这是我的代码:
有人知道怎么做吗?
c# - 将方法添加到 ExpandoObject 时,“关键字 'this' 在静态属性、静态方法或静态字段初始化程序中无效”
我正在尝试向 ExpandoObject 添加一个动态方法,该方法会将属性(动态添加)返回给它,但是它总是给我错误。
我在这里做错了什么吗?
编译器标记以下错误:错误 1
关键字“this”在静态属性、静态方法或静态字段初始值设定项中无效
D:\rnd\GettingStarted\DynamicDemo\ExpandoFun.cs 20 63 DynamicDemo
c# - 如何将网格视图数据绑定到 ExpandoObject
当我尝试将 ASP.NET 数据绑定GridView
到IEnumerable<ExpandoObject>
usingObjectDataSource
时,出现以下异常。
System.Web.HttpException (0x80004005):DataBinding:“System.Dynamic.ExpandoObject”不包含名为“StoreID”的属性。
任何人都知道我可以如何数据绑定到ExpandoObjects
?
c# - 我可以在 .NET 4 中序列化 ExpandoObject 吗?
我正在尝试使用 aSystem.Dynamic.ExpandoObject
这样我就可以在运行时动态创建属性。稍后,我需要传递这个对象的一个实例,并且使用的机制需要序列化。
当然,当我尝试序列化我的动态对象时,我得到了异常:
System.Runtime.Serialization.SerializationException 未处理。
在程序集“System.Core,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089”中键入“System.Dynamic.ExpandoObject”未标记为可序列化。
我可以序列化 ExpandoObject 吗?是否有另一种方法来创建可序列化的动态对象?也许使用DynamicObject包装器?
我创建了一个非常简单的 Windows 窗体示例来复制错误:
c# - 向 ExpandoObject 动态添加属性
我想在运行时向 ExpandoObject 动态添加属性。因此,例如添加一个字符串属性调用 NewProp 我想写一些类似的东西
这很容易吗?
c# - .NET 3.5 中 ExpandoObject 的替代品,开销最小
如何以最少的开销在 .NET 3.5 应用程序中模仿 ExpandoObject 的功能?到目前为止,我最好的方法是使用 Lin Fu 框架 ( http://www.codeproject.com/KB/cs/LinFuPart2.aspx ),但我认为可能会有更好的方法。
为了更好地了解我在这里的目标,我的目标是从 a 的参数动态创建类型MethodInfo
。所以,基本上我想把这个:
进入
在运行时。我必须能够使用反射访问参数,因为我使用的是 Linq 表达式。
c# - 将 ExpandoObject 持久化到 MongoDB
我有一个具有任意数量属性的 ExpandoObject。我想将这些属性作为 BsonDocument 保存到 MongoDB 数据库中。我尝试使用以下代码执行此操作:
但是,在对象上调用扩展方法 ToBson() 时,我收到以下异常:当 State 为:Initial 时无法调用 WriteInt32。
我知道的唯一 WrtieInt32 是 Marshall 类的静态方法。我接近这个错误吗?
c# - 如何在asp.net mvc中展平通过JsonResult返回的ExpandoObject?
我真的很喜欢ExpandoObject
在运行时编译服务器端动态对象,但是在 JSON 序列化过程中我很难把这个东西弄平。首先,我实例化对象:
到现在为止还挺好。在我的 MVC 控制器中,我想将它作为 JsonResult 发送下来,所以我这样做:
这会将 JSON 序列化为以下内容,供浏览器使用:
但是,我真正想看到的是:
我知道如果我使用dynamic
而不是ExpandoObject
--JsonResult
能够将dynamic
属性和值序列化为单个对象(没有 Key 或 Value 业务),我可以实现这一点,但我需要使用的原因ExpandoObject
是因为我不知道所有我想要在对象上的属性直到运行时,据我所知,我不能在dynamic
不使用a 的情况下动态地将属性添加到 a ExpandoObject
。
我可能必须在我的 javascript 中筛选“Key”、“Value”业务,但我希望在将其发送给客户之前弄清楚这一点。谢谢你的帮助!
c# - 实现从 LINQ 到 XML 选择查询的动态对象的捷径?
ExpandoObject
为了简洁起见,我可以在 LINQ to XML 查询中使用 初始化语法吗?
注意:查询的结果旨在传递到当前程序集范围之外,因此匿名类型是不可能的(请参阅此处的原因)。
我正在尝试使用如下的简短语法来创建动态/扩展对象:
使此代码工作的更多涉及的解决方案可能是:
- 创建具体类并改为初始化它(但我不想创建一堆)。
- 使用匿名类型并将其成员复制到动态对象(有些多余)并返回动态对象
是否有同样短的语法来实现我打算通过有问题的错误代码执行的操作,或者我是否必须以某种方式扩展代码库以获得所需的结果?
c# - 在 C# 中在运行时向类型化对象添加扩展属性
.net 中是否有任何方法可以在运行时将属性字典绑定到实例,即,就好像基对象类具有如下属性:
我想出了一个涉及静态字典和扩展方法的解决方案
但这会阻止对象进行 GC,因为 props 集合包含引用。事实上,这对于我的特定用例来说还可以,因为一旦我完成了我正在使用它们的特定事物,我就可以手动清除道具,但我想知道,是否有一些巧妙的方法来绑定ExpandoObject 到键同时允许垃圾收集?