问题标签 [dynamicobject]

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.

0 投票
1 回答
146 浏览

.net - 在 F# 中访问 DynamicJsonArray

我正在研究 F# 是出于个人“有趣”的原因,并以一种功能性的方式探索思维。我正在尝试复制我今天早上编写的其他代码片段的功能:here

我在下面编写了这段代码,但似乎我无法真正访问我的for ... in声明中的项目。

我现在真的只是想把所有东西都包起来,并且可以使用一两个指针!

谢谢

0 投票
1 回答
190 浏览

c++ - 如何动态创建对象?

我是编码新手,我正在尝试学习 C++。我正在制作轮盘赌游戏,并且正在尝试使用类和对象。我有一个名为 Bets 的类,它将玩家的下注选择存储在一个对象中,它可以是一个数字,或者像奇数或偶数这样的外部下注。这很好用,但我想让用户选择在同一次旋转中下多个赌注,所以当用户对“下另一个赌注?”的问题回答“是”时,我想制作另一个对象。有人可以帮我创建同一类的多个对象吗?

0 投票
0 回答
57 浏览

json - 如何从 C# 中的 json 字符串动态创建对象?

我是 C# 编程的新手。我得到一个 Json 字符串作为输入,如何从 json 字符串创建动态对象并从对象访问值。我的 Json 字符串结构不是常量,因此,我不能使用预定义的类结构。

我的示例 Json 字符串将是:

提前致谢。

0 投票
1 回答
375 浏览

c# - C# - GetMemberBinder 拆分

我有一个格式如下的设置文件:

现在,我有一个名为的类SettingsDynamicObject所以我可以使用动态设置。当我解析文件时,包含设置的字典的键是标题+键。因此,例如,Host案例中的键是Database.Host,值是localhost

现在,我希望用户像这样使用它:

但是,当我覆盖时TryGetMemberGetMemberBinder只包含Name,并且Name是 Database 而不是 Database.Host 应该是。我怎样才能“分割”GetMemberBinder Name财产?当我使用.Name属性时,它不包含..

例如

当我使用:

然后

GetBinderName Name仅包含数据库,但应包含:

数据库.主机。

谢谢。

**编辑:**我还有一个问题。假设我有字符串名称 =“数据库”,然后我执行 settings.Name.Host。它不会将名称解析为数据库。有解决办法吗?

0 投票
3 回答
3720 浏览

c# - 在 C# 中,如何在递归遍历 ExpandoObject 时更改键值属性的值?

问题

使用 C#,我需要遍历一个已转换为ExpandoObjectfrom的对象,XML并将任何“价格”属性替换为新值。

这个对象是非常非结构化的并且有很多层的嵌套节点(实际上是嵌套的 ExpandoObjects)。更具体地说,层次结构可能如下所示:

产品 => 价格、数量、配件

每个配件都可能有价格和数量,并且本身可能有配件,这就是我需要递归的原因。

到目前为止我所拥有的

我遇到的问题是kvp.Value没有设置器,所以我不能递归地运行这个方法。

任何建议表示赞赏。谢谢!

0 投票
3 回答
520 浏览

c# - 使用 DynamicObject 存储类型信息

我正在尝试设计一个进行提取转换加载操作的过程。我想在我的管道中使用 ExpandoObject 以允许我轻松地将列添加到我的数据流中。基本上,我从某种数据源读取数据,将其转换为动态并将其返回到转换管道,该转换管道基于现有属性或其他内容向其添加属性,然后将其流式传输到数据库中。

我遇到的问题是,即使我添加了 Nullable 类型,我也需要添加到我的 expando 对象的所有属性的类型信息。如果 Nullable 类型由于值的装箱而为 null,则会丢失。我想要类型信息,以便在我的管道结束时我可以在我的 ExpandoObjects 枚举上实现一个数据读取器并将数据流式传输到数据库中。

我曾希望 SetMemberBinder.ReturnType 属性可以帮助我,但它似乎返回一个对象。

这是一些示例代码:

有没有办法从 TrySetMember 中找出类型?我想知道是否有某种方法可以使用某种表达树的魔法?

如果有人有任何好主意,我很想听听。除了可以为空的类型之外,这一切都很好,但它们是数据库操作的关键。

谢谢

0 投票
0 回答
476 浏览

vb.net - 继承对象的 Vb.net 动态属性

我不能让它工作!我希望能够在继承自 system.dynamic.dynamicobject 的基类的派生类上创建动态属性?

我创建了一个 VB.net 抽象类,我想从该抽象类继承的实例上使用动态属性继承该抽象类。基类读取 XML 文档并将元素和任何属性转换为属性列表 Dictionary。

这个想法是,当派生类被实例化时,抽象类 propertyList 中列出的所有项目都作为公共属性公开。从我在下面列出的代码中,如果将属性 id 添加到属性列表中,那么我希望能够使 Feed.id 可用

抽象类如下所示:

继承上述类的派生类示例如下:

感谢您提前提供任何帮助。

0 投票
1 回答
226 浏览

c# - 将 ExpandoObject 发送到另一个 AppDomain

我试图将一个动态对象(类型ExpandoObject)从主 AppDomain 发送到另一个,显然面临ExpandoObject is not marked as serializable异常。

此外,这ExpandoObject有我需要的内部字典成员(Dictionary <object, dynamic>)。

我已经尝试ExpandoObject使用 Json.Net ( JObject) 将其转换为 Json,但内部字典没有反序列化为数组,在尝试访问其属性时给了我一个异常。

有谁知道如何序列化动态对象并将其发送到另一个 AppDomain?

主 AppDomain 代码:

替代 AppDomain 代码:

0 投票
1 回答
751 浏览

c# - 何时/为什么应该使用后期绑定?(DynamicObject 和 ExpandoObject)

虽然DynamicObjectsExpandoObjectsExpandoObject、DynamicObject 和 dynamic 之间的区别)起初听起来很有用,但我从未真正使用过它们。感觉后期绑定非常不安全/不稳定,因为它可能会在运行时抛出错误,否则这些错误是可以避免的。一般来说,MSDN 指出了早期绑定的几个优点,并建议尽可能不要使用后期绑定 ( https://msdn.microsoft.com/en-us/library/0tcf61s1.aspx )。

由于我从来没有遇到过没有后期绑定就无法解决的情况,而且它似乎被认为是“糟糕的风格”,我想知道是否存在实际需要使用后期绑定的情况。您是否有任何使用后期绑定(特别是 DynamicObject 或 ExpandoObject)的示例,并且有充分的理由选择这种设计,因为它“易于编码”?

0 投票
0 回答
47 浏览

javascript - 如何在我的控制器中处理动态视图模型?

在我的控制器中,我的 create 方法采用继承自 DynamicObject 的 viewModel。原因是我需要模型上的静态属性,但我也可以在将它传递给控制器​​之前通过 JavaScript 向它添加东西。

所以我有:

从 JavaScript(使用 Angular),我传入了这个视图模型:

但是,这不起作用,并向我抛出了这个错误:

我还没有找到我正在尝试做的示例,但我认为使对象动态化会允许这样做。我在这里想念什么?