问题标签 [anonymous-objects]

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 回答
97 浏览

c# - 是否可以在 C# 中创建以子对象为对象的匿名对象?

我想在 C# 中创建匿名对象,并且它的一些子对象也是对象。有可能在 C# 中做到这一点吗?(PS。我收到以下代码的一些提示错误)

0 投票
1 回答
4597 浏览

c++ - 类 c++ 不存在默认构造函数

您好,我正在尝试使用 std::string 变量“名称”实例化一个匿名对象。但是intellisenen给了我错误的说法

我提供了一个构造函数,它可以只接受一个 std::string 变量,因为其他参数都提供了默认值。

你们能对此有所了解吗?

更让我困惑的是,当我改变

或者

然后智能感知就变得完全好了。


GoldGame.cpp

生物.h

生物.cpp

播放器.h

播放器.cpp

0 投票
2 回答
90 浏览

c++ - 为什么某些编译器拒绝作为指针传递的匿名对象?

尝试运行此代码,以查看如何在单个表达式中调用匿名对象 ctor/dctor:

但是(例如这里使用 on g++)它拒绝此代码:error: taking address of temporary [-fpermissive]

相反,msvc它似乎是允许的。

为什么首先阻止它可能是“危险的”?

0 投票
2 回答
161 浏览

java - 匿名对象创建和GC


return new JsonObject().put("name","xyz") 匿名对象是如何在堆中分配的,例如在返回语句的情况下使用:由于它们没有任何命名引用,垃圾收集器如何从内存中清除它们?我试图寻找答案,但找不到答案,所以在这里发布。

0 投票
1 回答
67 浏览

lua - 创建匿名用户数据变量

我正在使用 lua C api 来运行与本机类接口的脚本。我正在利用 Qt 的 MOC 获取运行时类型信息。到目前为止,我已经实现了我希望 lua 能够与之对话的所有类的创建、删除和索引。

这是我现在可以做的示例脚本:

在该脚本中,otherObject被创建并保留在堆栈中。然后将其传递给functionForOthers()接受OtherClass对象作为参数的对象。

但是,如果我不想otherObject被放入堆栈怎么办?如果我希望它是一个只存在于函数调用范围内的匿名变量怎么办?

这仍然有效,但是OtherObject实例被创建但从未分配给变量,使其在堆栈中无法访问,直到范围结束。这不会导致任何直接的问题,但它会困扰我的内存效率部分。

我有很多本地代码处理这些操作的后端,但它的基本要点是它new是一个全局表字段,MyClassOtherClass指向一个本地 CreateObject 函数。从那里,在调用后创建类的实例并将其存储在用户数据中lua_newuserdata()

functionForOthers()调用使用__index指向本机 IndexObject 函数的元方法,该方法如果存在则调用该方法。

实现匿名用户数据变量的基本方法是什么?我仍然希望这两个脚本都是有效的方法,我只想要一种将第二个脚本的OtherClass对象保持在范围内的方法,直到函数调用完成。

0 投票
4 回答
221 浏览

c# - 用于检查 JSON 字符串的匿名类型的 C# 通用实用程序

我有一个 JSON 字符串。我想检查它是否包含匿名对象。如果是,则返回该值。如果没有,则返回默认值。然后我希望能够为不同的匿名对象重复多次。

这是我目前实现的代码示例,但显然它每次都是重复的,而且不是很“干净”。

我更希望它是一种通用方法,我可以为每种匿名类型调用它。此外,不必依赖 try/catch 也很好。可以做到吗?

更新...

这对 int、bool 和 double 非常有用:

我为字符串添加了这个:

0 投票
1 回答
41 浏览

java - 如何获取匿名对象参数?

我试图将我的匿名对象从一个类添加到一个哈希表。我按照老师的要求创建了我的 Hashtable,但是有一个问题。我必须得到我的对象之一的 x 和 y 值。但是系统无论如何都找不到 x。

这是我的 Kreis 课程:

0 投票
2 回答
60 浏览

java - 将对象传递给数组的不同类型

创建对象然后将其传递给 ArrayList 或直接在 ArrayList.add 方法中创建对象有区别吗?在内存使用和性能的情况下?例子:

0 投票
5 回答
2213 浏览

c# - C#匿名对象作为参数不起作用

https://dotnetfiddle.net/446j0U链接重现(在.net 4.7.2 上失败,不在.net core 上)

在同一个函数中访问匿名对象工作正常,但是当我尝试在函数中传递它时出现异常

运行时异常(第 14 行):尝试通过方法 'DynamicClass.CallSite.Target(System.Runtime.CompilerServices.Closure, System.Runtime.CompilerServices.CallSite, System.Object)' 访问类型 '<>f__AnonymousType0`2'失败的。

堆栈跟踪:

[System.TypeAccessException:尝试通过方法'DynamicClass.CallSite.Target(System.Runtime.CompilerServices.Closure,System.Runtime.CompilerServices.CallSite,System.Object)'访问类型'<>f__AnonymousType0`2'失败。]在CallSite.Target(Closure , CallSite , Object ) at System.Dynamic.UpdateDelegates.UpdateAndExecute1[T0,Tret](CallSite site, T0 arg0) at TEST.TestMethod(Object obj) :line 14 at TEST.Main(String[] args ) : 第 9 行


@RandRandom 编辑:

由于赏金期快结束了,我决定编辑这个问题。

到目前为止,给出的答案都未能真正回答手头的问题,只是给出了避免错误的方法。

OP 明确表示(在评论中)他知道变通方法并且目前正在使用变通方法。

这些问题仍然存在

  1. 为什么在 OPs setup 和 dotnetfiddle.net 上出现上述错误?
  2. 如果错误通过更新得到修复,那么 OP 需要更新什么?
  3. 在新的编译器/.Net 版本/Visual Studio 版本中解决了问题吗?

在这里回顾一下到目前为止 OP 的信息:

  • VS 2017
  • .Net 框架 4.8
0 投票
1 回答
773 浏览

c# - 我们如何在 C# 中从 json 字符串创建匿名对象?

我的 JSON 字符串会像

在此处输入图像描述

当我使用 Newtonsoft.Json 反序列化它时,而不是对象我得到低于响应

在此处输入图像描述

但它应该像下图

在此处输入图像描述

尝试了 JsonConvert.DeserializeObject 和 JObject.Parse。当我们在不知道类型的情况下反序列化它时,有什么方法可以进入直接对象结构?