问题标签 [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.
c# - 是否可以在 C# 中创建以子对象为对象的匿名对象?
我想在 C# 中创建匿名对象,并且它的一些子对象也是对象。有可能在 C# 中做到这一点吗?(PS。我收到以下代码的一些提示错误)
c++ - 类 c++ 不存在默认构造函数
您好,我正在尝试使用 std::string 变量“名称”实例化一个匿名对象。但是intellisenen给了我错误的说法
我提供了一个构造函数,它可以只接受一个 std::string 变量,因为其他参数都提供了默认值。
你们能对此有所了解吗?
更让我困惑的是,当我改变
至
或者
然后智能感知就变得完全好了。
GoldGame.cpp
生物.h
生物.cpp
播放器.h
播放器.cpp
java - 匿名对象创建和GC
return new JsonObject().put("name","xyz")
匿名对象是如何在堆中分配的,例如在返回语句的情况下使用:由于它们没有任何命名引用,垃圾收集器如何从内存中清除它们?我试图寻找答案,但找不到答案,所以在这里发布。
lua - 创建匿名用户数据变量
我正在使用 lua C api 来运行与本机类接口的脚本。我正在利用 Qt 的 MOC 获取运行时类型信息。到目前为止,我已经实现了我希望 lua 能够与之对话的所有类的创建、删除和索引。
这是我现在可以做的示例脚本:
在该脚本中,otherObject
被创建并保留在堆栈中。然后将其传递给functionForOthers()
接受OtherClass
对象作为参数的对象。
但是,如果我不想otherObject
被放入堆栈怎么办?如果我希望它是一个只存在于函数调用范围内的匿名变量怎么办?
这仍然有效,但是OtherObject
实例被创建但从未分配给变量,使其在堆栈中无法访问,直到范围结束。这不会导致任何直接的问题,但它会困扰我的内存效率部分。
我有很多本地代码处理这些操作的后端,但它的基本要点是它new
是一个全局表字段,MyClass
它OtherClass
指向一个本地 CreateObject 函数。从那里,在调用后创建类的实例并将其存储在用户数据中lua_newuserdata()
该functionForOthers()
调用使用__index
指向本机 IndexObject 函数的元方法,该方法如果存在则调用该方法。
实现匿名用户数据变量的基本方法是什么?我仍然希望这两个脚本都是有效的方法,我只想要一种将第二个脚本的OtherClass
对象保持在范围内的方法,直到函数调用完成。
c# - 用于检查 JSON 字符串的匿名类型的 C# 通用实用程序
我有一个 JSON 字符串。我想检查它是否包含匿名对象。如果是,则返回该值。如果没有,则返回默认值。然后我希望能够为不同的匿名对象重复多次。
这是我目前实现的代码示例,但显然它每次都是重复的,而且不是很“干净”。
我更希望它是一种通用方法,我可以为每种匿名类型调用它。此外,不必依赖 try/catch 也很好。可以做到吗?
更新...
这对 int、bool 和 double 非常有用:
我为字符串添加了这个:
java - 如何获取匿名对象参数?
我试图将我的匿名对象从一个类添加到一个哈希表。我按照老师的要求创建了我的 Hashtable,但是有一个问题。我必须得到我的对象之一的 x 和 y 值。但是系统无论如何都找不到 x。
这是我的 Kreis 课程:
java - 将对象传递给数组的不同类型
创建对象然后将其传递给 ArrayList 或直接在 ArrayList.add 方法中创建对象有区别吗?在内存使用和性能的情况下?例子:
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 明确表示(在评论中)他知道变通方法并且目前正在使用变通方法。
这些问题仍然存在
- 为什么在 OPs setup 和 dotnetfiddle.net 上出现上述错误?
- 如果错误通过更新得到修复,那么 OP 需要更新什么?
- 在新的编译器/.Net 版本/Visual Studio 版本中解决了问题吗?
在这里回顾一下到目前为止 OP 的信息:
- VS 2017
- .Net 框架 4.8