问题标签 [extending]
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# Activator createInstance 用于扩展类
我有一个基类,如下所示:
而且我还有一个扩展这个类的子类。
我尝试使用 Activator.CreateInstance() 函数创建一个对象,如下所示:
注意:this.GetType() 是由扩展类在Data 的一个函数中使用的,用来获取当前类的Type。
但这会导致一个问题。奇怪的是,我收到一个错误,该类(在我的情况下为 DienstGruppe)没有构造函数。我猜c#中的继承与java中的继承不一样。那么我该如何解决这个问题呢?
它适用于“数据”。
问候, 多米尼克
ruby - 我可以将方法用作 lambda 吗?
我有一个定义一组条件的接口。它是与其他模型一起使用的几个此类接口之一。
这些条件将由消息队列处理程序调用以确定警报的完整性。所有的警报调用都是一样的,所以我试图通过将条件抽象到它们自己的方法中来稍微干掉入队调用(我质疑方法是否是正确的技术)。我认为通过这样做,我将能够测试这些条件中的每一个。
我已经考虑过替代方案,其中每种方法都像一个范围。在那条路上,我不确定如何成为, 和AlertHandler
的来源interval
,它在调用它时传递给块/proc。 send_limit
excluding
有人建议我(离线)范围是 lambda,因此可能是更合适的解决方案 - 根据@BorisStitnicky 推断,钳子可以用作锤子,但不应该。我也愿意接受这方面的答案。
java - 使用选项“-Xinject-code -extension”插入带有 XJC+xsd+jxb 的代码
我试图使用xjc的扩展名“-Xinject-code”向我生成的类添加一些代码。对于以下简单的 xsd 架构...
..我已经关联了以下绑定:
运行 xjc 会产生以下输出:
但文件“生成/MyItem.java”不包含新方法“toString”。我应该如何解决这个问题?那条消息“未知位置”是什么?
笔记:
编辑:
将 xsd:element 更改为 xsd:complexType 可以完成以下工作:
和
我现在可以在文件“generated/MyItemType.java”中看到代码
但是如何告诉 xjc 在不更改 xsd 文件的情况下生成代码?
c++ - 通过 boost::python 在 C++ Python 扩展中嵌入 Python
我有以下场景:自定义 C++ 库应该通过 boost::python 嵌入 Python。这个库应该与不同的包装器静态链接,这些包装器允许该库与 .NET 框架、其他语言以及 Python 本身一起使用。
在包装库以使其最终成为 Python C 扩展的情况下,库本身嵌入 Python 解释器这一事实是否会成为问题?
此外,如果嵌入式 Python 版本与导入扩展的解释器版本不匹配,会产生什么后果?
亲切的问候,丹尼尔
asp.net - 控制标记应该出现在渲染页面上的什么位置?
我正在构建一个扩展器控件。此控件源自普通控件。它的目的是在指定的目标控件之前/之后注入一些文本。我想这类似于 AJAX 日历扩展器的工作方式。所以它具有诸如TargetControlID
等之类的属性。
我不确定要连接目标控件的哪个事件,以便我可以在控件呈现之前/之后插入我的评论。
以图形方式表示我要完成的工作:
我只想在出现绿色破折号的地方发表评论。反正我可以控制...?
到目前为止我尝试过的源代码......
codeigniter - 我可以在 Code Igniter 的包中扩展核心助手吗?
我正在建立自己的基地,以便在我将要建立的多个网站上使用。我已经为此做了一个包。但我想扩展该包中的 CI 助手(而不是在应用程序中) - 助手url_helper
等html_helper
。
我在包文件夹中放了一个配置文件夹(虽然我不太了解它的作用),并在其中放了一个配置文件(所以结构是packages/app_package/config/config.php
)。
我已经放置了$config['subclass_prefix'] = 'app_';
(最好与应用程序不同),但仍然没有加载助手app_url_helper
等
有人这样做吗?
qt - 如何扩展 Qt 打印对话框
是否可以使用其他 UI 元素扩展 Qt 打印对话框 (QPrintDialog),因为它可以通过 PD_ENABLEPRINTTEMPLATE 宏在 MFC 中完成?请参阅此链接。
我在 Qt 文档中没有找到任何关于此的内容。
似乎 Qt 在 Windows 上显示了本机打印对话框,这可能使它变得更加困难?
symfony - 使用 Doctrine2 扩展 Symfony2 中的实体
我很难找到一种方法来使用 Doctrine2 作为 ORM 在 Symfony2 中的包之间适当地扩展实体。
目前,我发现了三种使用 Doctrine2 作为 ORM 在 Symfony2 中扩展实体的方法。Mapped Superclass
,Single Table Inheritance
和Class Table Inheritance
. 这些都不适用于我想做的事情。
我有两个 Bundle:UserBundle 和 BlogBundle。我希望能够在没有 BlogBundle 的项目中使用 UserBundle,但 BlogBundle 将始终用于具有 User Bundle 的项目中。如果 BlogBundle 依赖于 UserBundle 是可以的,但反之则不然。
我有两个实体: BlogBundle\Entity\Post 和 UserBundle\Entity\User
关系: 用户和博客帖子之间需要存在一对多的关系。这是通过映射到 UserBundle\Entity\User.id 的 BlogBundle\Entity\Post 对象(表)上的 Author_ID 属性(列)实现的
问题: 我可以直接从 BlogBundle 中调用 UserBundle\Entity\User 实体,并使用单向映射来实现我正在寻找的东西。这不允许我从用户对象中访问用户的所有帖子。我可以通过自定义查询访问数据,但这不像用户通过用户对象访问帖子那样干净。
我想做的是从 BlogBundle 中扩展 UserBundle\Entity\User 对象,并将方法和属性添加到该对象,以建立在 BlogBundle 中使用的一对多映射。这些都不是持久的,它只是定义了关系,并允许我通过向博客包中的用户对象添加所需的功能来逻辑地访问用户在实现 BlogBundle 和 UserBundle 的应用程序中创建的所有帖子(从而避免依赖从 UserBundle 到 BlogBundle)。
当我创建一个 BlogBundle\Entity\User 对象并扩展 UserBundle\Entity\User 时,我必须声明 @ORM\Table(name="usertablename")。如果我不这样做,任何访问 BlogBundle\Entity\User 对象的尝试都将无法访问数据库。由于扩展对象中的任何添加都不会持续存在,因此这可以在捆绑包中正常工作。问题是当我调用“php app/console 学说:schema:update --force”时,由于两个实体尝试映射到并创建同一个表,因此存在冲突。我曾尝试使用最近实现的 ResolveTargetEntityListener 功能,但这与 Mapped Superclas、STI 和 CTI 一起强制依赖来自 UserBundle 的 BlogBundle。
下面是我的对象,以帮助说明我的设置。为了清楚起见,它们已被缩写。我意识到一些语义不正确,但它旨在传达想法和配置。
用户捆绑\实体\用户
BlogBundle\Entity\Post
BlogBundle\实体\用户
这可行,但问题是我将项目中的两个实体映射到同一个表。扩展对象不会从它的父对象中获取@ORM\Table(name="app_user"),因此它必须在BlogBundle\Entity\User 中定义。如果没有来自控制器的对该对象的任何引用,则不会访问数据库。由于扩展对象没有持久化任何内容,除非我尝试从控制台更新数据库模式。
我可以使用单向关系,但这限制了我从控制器内访问数据的方式。
jquery - 在 $.mobile 中覆盖 JQuery Mobile 方法的正确方法
当软键盘启动时,我正在开发的 JQuery Mobile 应用程序往往会崩溃。我已经实现了一个解决方案并且效果很好,但是我必须直接编辑 jquery.mobile-1.2.0.js 才能做到这一点。我宁愿将我的更改保留在扩展 jQuery Mobile 的 jquery.mobile.customizations.js 文件中。
我尝试执行以下操作但没有成功:
我将警报语句添加到我的$.mobile.getScreenHeight
,加上原来的 $.mobile.getScreenHeight
. 我确实看到我的自定义方法的警报被触发,但有时它也会在原始函数中触发警报。
有谁知道在 $.mobile 中覆盖方法并添加两个新属性的正确方法?
(有关原始问题的完整详细信息在window.resize 中,因为虚拟键盘会导致 jquery mobile 出现问题)
更新:
@elclanrs - 我试图实现下面的代码但没有运气。我也试过交换第二个和第三个参数。每当我运行代码时,它都会触发我的扩展 getScreenHeight,但随后会触发基础 getScreenHeight。(我挖空了原来的 getScreenHeight 并在里面放了一个警报。那个警报永远不应该触发。
打开思想!
ruby-on-rails - 如何给模块中的类方法起别名?
我正在使用 Ruby v1.9.2 和 Ruby on Rails v3.2.2 gem。我有以下模块
我想给类方法 my_method
起别名。所以,我陈述了以下(不工作)代码:
换句话说,我想以Module
某种方式扩展该类,以便在alias_class_method
整个MyModule
. 但是,我想让它工作并在我所有的 Ruby on Rails 应用程序中可用。
- 我应该把与
Module
类的 Ruby 核心扩展相关的文件放在哪里?也许在 Ruby on Railslib
目录中? - 我应该如何正确“扩展”
Module
核心扩展文件中的类? - 这是正确的方法吗?也就是说,例如,我应该“扩展”另一个类 (
Object
,BasicObject
,Kernel
, ...) 而不是Module
? 或者,我应该完全避免实施上述核心扩展吗?
但是,更重要的是,是否有一个 Ruby 功能可以让我完成我想要完成的工作,这样我就不必扩展它的类?