问题标签 [anonymous-class]

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 投票
2 回答
142 浏览

.net - 如何在没有匿名类或附加类的情况下使用 linq to sql 加载类的部分?

有没有办法使用第三种变体?

0 投票
6 回答
12116 浏览

java - Java 匿名类效率影响

这两种做事方式在效率(例如执行时间、代码大小等)上是否存在差异?

下面是创建对象但什么都不做的人为示例,但我的实际场景可能是创建新线程、侦听器等。假设以下代码片段在循环中发生,这样它可能会有所作为。

使用匿名对象:

首先定义一个类:

0 投票
3 回答
4922 浏览

c# - 匿名类实现接口

我在方法中有以下代码:

我想调用一个函数,该函数需要一个元素列表,每个元素都实现一个接口(ISelectable)。我知道普通类是如何做到的,但在这种情况下,我只是想填写一些演示数据。

是否可以创建一个实现接口的匿名类?

像这样:

0 投票
3 回答
1302 浏览

c# - C# 中的临时结构/类?

目前我正在使用 sql 反射。我发现如果我想进行专门查询,最容易通过创建一个从另一个继承的新类并为我的专门查询添加 2 个成员/列来获得结果。然后由于我的 c# 代码中 lib 中的反射,我可以编写 foreach(var v in list) { v.AnyMember and v.MyExtraMember)

现在,我可以在函数内定义一个类,而不是让类分散或修改我的主 DB.cs 文件吗?我知道我可以通过编写 new {name=val, name2=...}; 创建一个匿名对象;但我需要在通用函数 func(query, args) 中传递此类;

0 投票
1 回答
195 浏览

java - 奇怪的链表/匿名类行为 - 添加时执行?

这个问题与How to Queue and Call Actual Methods..有关。无论如何,我决定(毕竟)采用匿名班级的想法。问题是当我将我的匿名类添加到链接列表时,它实际上是立即调用 execute() ......它不应该是。稍后将调用 Execute()。无论如何,这就是我所拥有的:

run() 是一个由子类实现的抽象方法。我只是不确定为什么它在添加时打印,而不是执行。我知道这意味着 performBehavior() 实际上被执行多次而不是每次执行一次,但事实并非如此。

0 投票
4 回答
1868 浏览

java - 从 Java 中的匿名类引用变量

我正在编写一个 setonclick 列表器,我希望能够引用该按钮,以便我可以更改其属性。即使其禁用?

我收到这条消息:

不能在不同方法中定义的内部类中引用非最终变量 confirmButton

0 投票
5 回答
10848 浏览

java - Java:使用局部变量的匿名内部类

如何userId在此处的匿名内部子类中获取传递给此方法的值?

我收到此错误:

不能在不同方法中定义的内部类中引用非最终变量 userID

我很确定我不能将它分配为 final,因为它是一个具有未知值的变量。我听说这种语法确实以某种方式保留了范围,所以我认为一定有一个我还不知道的语法技巧。

0 投票
2 回答
3751 浏览

c# - 匿名类、临时数据和匿名类的集合

我是匿名课程的新手,今天我想我遇到了第一个我觉得我真的可以使用它们的案例。我正在编写一种方法,该方法可以从在类中存储临时数据中受益,并且由于该类在该方法之外没有任何意义,因此使用匿名类对我来说肯定是有意义的(至少在它这样做的时候) )。

在开始编码之后,我确实似乎不得不做出一些让步。我喜欢将诸如计算之类的东西分配给临时变量,以便在调试期间我可以一次验证逻辑块中的计算位。然后我想为最终值分配一些更简单的东西。该值将在匿名类中。

问题是为了简洁地使用匿名类实现我的代码,我想使用 LINQ。这里的问题是,我认为您不能在语句内部进行此类临时计算。 或者你可以吗?

这是我想做的一个人为的例子:

注意:除非您实际将键添加到字典中,否则不要尝试运行它:)

在 LINQ 中创建匿名类很棒,但迫使我在一行中进行计算。想象一下,计算比我展示的要长得多。但它是相似的,我会做一些字典查找来获取特定的值。调试可能很痛苦。

具体类的使用解决了使用临时变量的问题,但是我不能简洁地做所有事情。是的,我意识到我说我正在寻找简洁性,同时要求能够在我的 LINQ 语句中保存临时变量,这有点矛盾。

在循环点时,我开始尝试创建一个匿名类,但很快意识到我无法存储它!您不能使用 List ,因为这只会失去班级的全部匿名性。

谁能建议一种方法来实现我正在寻找的东西?还是一些中间立场?我在 StackOverflow 上阅读了其他一些问题,但没有一个与我的完全相同。

0 投票
1 回答
4077 浏览

java - 生成的匿名类的 newInstance 上的 InstantiationException

更新:这或多或少是一个骗局,结果证明是编译器魔术添加了一个构造函数来传递 build2 中的局部变量。

给定这样的接口:

public interface IFoo { public int get(); }

下面的代码会打印 1、1、2,然后在尝试对 build2 返回的值调用 getClass().newInstance() 时抛出异常,但在对 build1 的返回值调用相同时不会。任何想法为什么?

我的调试器表明在 newInstance() 调用中,getConstructor0 抛出了 NoSuchMethodException。

0 投票
6 回答
2811 浏览

java - 访问匿名内部类变量

如何从外部类访问 i?

我可以这样做

但是如果我得到'i'那么我就无法得到hashset的实例。有没有办法同时得到这两者?这个问题只是出于好奇。它没有太多实际应用。我只是想知道它是否可以完成.