问题标签 [class-extensions]

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

java - 如何获取类的视图,该类扩展了扩展片段/活动等的类

我有一个问题,如果我有:

扩展 y 的 x 类

和扩展 Fragment 的 y 类

我希望能够在 x 中做一些事情,例如获取带有 ID 的文本视图并更改文本。要做到这一点,我必须获得观点,但我遇到了问题。我尝试过 Super.getView,并尝试将视图保存在 y 中并从 x 访问,但它不起作用。

为什么是这样?

编辑:示例代码:

0 投票
1 回答
41 浏览

swift - Swift 中具有新泛型类型的泛型类型扩展

我想Array<Element>用一个约束来扩展泛型类型,Element这取决于另一个泛型类型,例如Element == Optional<Wrapped>.

在不是泛型的情况下Element,很容易:

我尝试了以下,但编译器不接受它。

在这种情况下我应该使用什么语法?提前致谢!

0 投票
1 回答
288 浏览

python - 是否可以从 __init__.py 扩展一个类

我编写了一个小的 python 包,它通过一些额外的方法扩展了 pandas 数据框。

目前,我的包中有以下代码:

然后我在python中执行以下操作:

我的问题是,是否可以__init__.py在 mypackage 中进行 pandas 导入和注册访问器,这样一旦 mypackage 被导入,我就可以在没有 init() 步骤的情况下自动访问 mymethod?我目前的方法感觉有点笨拙......

0 投票
1 回答
99 浏览

c# - c# StringBuilder 具有 Linq-ish 功能 IfElse 这可能吗?

我正在写一个 AST(抽象语法树),不是以树的形式,而是为了正确格式化我的代码。类似于自定义语言的 Clang,我使用 StringBuilder 来实现效果......现在我必须执行以下操作:

这有时会变得非常复杂,所以我希望我可以做类似的事情:

这可以使用类扩展来完成吗?非常感谢您的宝贵时间!

(顺便说一句,有没有更好的方法来写下 AST?我目前正在使用访问者模式来实现效果,但如果您知道更好的方法,请告诉我......如果某些线宽是,我还想引入文本换行达到..虽然不知道该怎么做)。

0 投票
6 回答
9608 浏览

flutter - Flutter 扩展方法不起作用,它说“未定义的类”和“需要扩展方法语言功能”

我正在dlblack.dev上慢慢地建立我的个人网站,并且我正在尝试为它增添一点情趣。例如,从计算机(而不是平板电脑或手机,因为它们没有鼠标指针),如果您将鼠标悬停在任何可点击项目上,它不会改变您的鼠标指针以指示它是可点击的,并且可点击对象根本没有改变。我决定遵循这个 FilledStacks 教程,但它没有提到任何关于解决这个问题的内容。

基本上发生的事情是当我通过教程视频(他编写骨架扩展类)并尝试复制它大约 2.5 分钟时,除了名称之外,VS Code 几乎红线了整个类声明。我正在写的内容与他在 2:26 在屏幕上看到的内容完全相同,这是我的代码:

当我这样做时,“extension”、“on”和“Widget”都被红线了。当我将鼠标悬停在“扩展”上时,它会显示以下内容:

我做的第一件事是在我的 pubspec.yaml 文件中将我的最小 SDK 约束更改为 2.6.0。然后我把它改成了 2.7.0,因为网上很多人说扩展是在 Dart 2.7 中发布的。我在这个主题上做了很多谷歌搜索,但似乎没有人和我有同样的问题:我没有 analysis_options.yaml 文件。我创建了一个,并且将其放入其内容中:

从理论上讲,我相信一旦我flutter pub get从根文件夹中的命令行运行,应该可以解决我的问题;它没有。我不知道出了什么问题。有什么建议么?

0 投票
1 回答
58 浏览

arrays - 将超类数组扩展应用于子类实例数组

有没有办法使用已应用于子类实例数组的超类的数组扩展?我试图通过以下方式这样做:

超类的扩展:

子类数组的实现:

但是,这给了我以下编译器错误:

“在 'Array' 上引用实例方法 'appending' 要求类型 'Subclass' 和 'Superclass' 是等价的。”

有什么方法可以实现这个功能,还是我必须为每个子类创建单独的扩展?

0 投票
0 回答
88 浏览

swift - 如何将所需的协议属性添加到扩展?

我试图通过扩展该类来使该类符合协议。就我而言,我想SKNode符合UIAccessibilityIdentification.

UIAccessibilityIdentification只有一个要求,即 property accessibilityIdentifier,它是一个可选字符串。XCode 自动向我建议以下带有 setter 和 getter 的存根。

我的问题:

如何正确实现 getter 和 setter 以使其工作?(子类化不是一个选项,因为我需要在几个内置子类上使用它SKNode

目前我正在使用以下设置,它将超类的 分配给accessibilityLabel并且它目前工作正常,因为我只是 UI 测试并且我还没有为用户使用画外音。然而,这在未来可能会改变。因此,适当的直接实施会更好。SKNodeaccessibilityIdentifier

我目前的扩展:

0 投票
1 回答
110 浏览

reactjs - 在 React 类组件中同时使用继承和组合是一种好的做法吗?

我会用一个例子来最好地解释我想说的:我想创建一个可以重复使用的可悬停组件。如果我只使用扩展,代码将如下所示:

继承

这样做的缺点是我必须使用该customRender 函数才能渲染组件。

组成

这种方法的缺点是我必须在父组件中创建一个状态变量,但是我可以以一种反应的方式呈现

所以我在想我是否可以同时使用这两种方法来获得我想要的东西,否则它最终会变成一个非常混乱的代码。

两个都

对于这种情况,这三种方法中的哪一种被认为是最佳实践?还有其他我应该使用的方法吗?我想把它放大到也有,例如DraggableComponent,,ClickableComponent等等。

0 投票
1 回答
47 浏览

c# - 有没有办法为泛型类型对象进行扩展?

所以我试图通过扩展方法将我的 C# 类映射到 proto 对象,它似乎不接受“this”的泛型类型?

这些是响应中的基类

0 投票
1 回答
164 浏览

c++ - 在 C++ 类用法中尝试 catch 块

这是导致错误的 v1

这是我在构造函数中停止与用户交互的 v2 设计

在 v3 设计中,我添加了一个新函数来处理类本身内部的异常

我做了一个 v4 设计来停止在类中处理异常,而不是在 main() 中进行。哪一个是正确的?在类中处理异常或只是从类中抛出异常并在 main 中处理?问题是我不能再继续从用户读取 readAgain() 直到用户输入写入输入,因为异常将进入 catch 块并且无法处理catch 块中的运行时错误,所以我从设计中删除了 readagain() 函数,只在 main() 部分打印了错误