问题标签 [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.
java - 如何获取类的视图,该类扩展了扩展片段/活动等的类
我有一个问题,如果我有:
扩展 y 的 x 类
和扩展 Fragment 的 y 类
我希望能够在 x 中做一些事情,例如获取带有 ID 的文本视图并更改文本。要做到这一点,我必须获得观点,但我遇到了问题。我尝试过 Super.getView,并尝试将视图保存在 y 中并从 x 访问,但它不起作用。
为什么是这样?
编辑:示例代码:
swift - Swift 中具有新泛型类型的泛型类型扩展
我想Array<Element>
用一个约束来扩展泛型类型,Element
这取决于另一个泛型类型,例如Element == Optional<Wrapped>
.
在不是泛型的情况下Element
,很容易:
我尝试了以下,但编译器不接受它。
在这种情况下我应该使用什么语法?提前致谢!
python - 是否可以从 __init__.py 扩展一个类
我编写了一个小的 python 包,它通过一些额外的方法扩展了 pandas 数据框。
目前,我的包中有以下代码:
然后我在python中执行以下操作:
我的问题是,是否可以__init__.py
在 mypackage 中进行 pandas 导入和注册访问器,这样一旦 mypackage 被导入,我就可以在没有 init() 步骤的情况下自动访问 mymethod?我目前的方法感觉有点笨拙......
c# - c# StringBuilder 具有 Linq-ish 功能 IfElse 这可能吗?
我正在写一个 AST(抽象语法树),不是以树的形式,而是为了正确格式化我的代码。类似于自定义语言的 Clang,我使用 StringBuilder 来实现效果......现在我必须执行以下操作:
这有时会变得非常复杂,所以我希望我可以做类似的事情:
这可以使用类扩展来完成吗?非常感谢您的宝贵时间!
(顺便说一句,有没有更好的方法来写下 AST?我目前正在使用访问者模式来实现效果,但如果您知道更好的方法,请告诉我......如果某些线宽是,我还想引入文本换行达到..虽然不知道该怎么做)。
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
从根文件夹中的命令行运行,应该可以解决我的问题;它没有。我不知道出了什么问题。有什么建议么?
arrays - 将超类数组扩展应用于子类实例数组
有没有办法使用已应用于子类实例数组的超类的数组扩展?我试图通过以下方式这样做:
超类的扩展:
子类数组的实现:
但是,这给了我以下编译器错误:
“在 'Array' 上引用实例方法 'appending' 要求类型 'Subclass' 和 'Superclass' 是等价的。”
有什么方法可以实现这个功能,还是我必须为每个子类创建单独的扩展?
swift - 如何将所需的协议属性添加到扩展?
我试图通过扩展该类来使该类符合协议。就我而言,我想SKNode
符合UIAccessibilityIdentification
.
UIAccessibilityIdentification
只有一个要求,即 property accessibilityIdentifier
,它是一个可选字符串。XCode 自动向我建议以下带有 setter 和 getter 的存根。
我的问题:
如何正确实现 getter 和 setter 以使其工作?(子类化不是一个选项,因为我需要在几个内置子类上使用它SKNode
)
目前我正在使用以下设置,它将超类的 分配给accessibilityLabel
并且它目前工作正常,因为我只是 UI 测试并且我还没有为用户使用画外音。然而,这在未来可能会改变。因此,适当的直接实施会更好。SKNode
accessibilityIdentifier
我目前的扩展:
reactjs - 在 React 类组件中同时使用继承和组合是一种好的做法吗?
我会用一个例子来最好地解释我想说的:我想创建一个可以重复使用的可悬停组件。如果我只使用扩展,代码将如下所示:
继承:
这样做的缺点是我必须使用该customRender
函数才能渲染组件。
组成:
这种方法的缺点是我必须在父组件中创建一个状态变量,但是我可以以一种反应的方式呈现
所以我在想我是否可以同时使用这两种方法来获得我想要的东西,否则它最终会变成一个非常混乱的代码。
两个都
对于这种情况,这三种方法中的哪一种被认为是最佳实践?还有其他我应该使用的方法吗?我想把它放大到也有,例如DraggableComponent
,,ClickableComponent
等等。
c# - 有没有办法为泛型类型对象进行扩展?
所以我试图通过扩展方法将我的 C# 类映射到 proto 对象,它似乎不接受“this”的泛型类型?
这些是响应中的基类
c++ - 在 C++ 类用法中尝试 catch 块
这是导致错误的 v1
这是我在构造函数中停止与用户交互的 v2 设计
在 v3 设计中,我添加了一个新函数来处理类本身内部的异常
我做了一个 v4 设计来停止在类中处理异常,而不是在 main() 中进行。哪一个是正确的?在类中处理异常或只是从类中抛出异常并在 main 中处理?问题是我不能再继续从用户读取 readAgain() 直到用户输入写入输入,因为异常将进入 catch 块并且无法处理catch 块中的运行时错误,所以我从设计中删除了 readagain() 函数,只在 main() 部分打印了错误