问题标签 [interface-implementation]
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.
php - PHP接口实现拒绝参数上的子类
考虑一下:
在我的概念中,上面应该可以工作,但它不会因为 php 拒绝要求第一个参数与接口 (I) 中定义的类型 (A) 完全相同的实现。由于 B 是 A 的子类,我看不出有什么问题。我在这里错过了什么吗?
c# - 在 C# 中,是否可以像在 VB.NET 中那样使用具有不同名称的成员来实现接口成员?
好的,这是我要问的一个问题,不是在展示良好的编码实践(这实际上可能被认为是一种不好的做法),而是关于“可以”它是否可以完成。
也就是说,在 VB.NET 中,您实现了这样的接口......
而在 C# 中,您可以像这样明确地执行此操作(只能通过接口调用)...
或者更简单地说,隐含地像这样(在这种情况下,您可以直接调用它,或者通过接口调用它)......
但是,关于 VB,您也可以使用您想要的任何成员名称来执行此操作...
换句话说,处理实现的方法可以具有与接口的成员名称完全不同的名称。
我只是想知道 C# 中是否有类似的东西。(是的,我知道我可以简单地做一个显式接口,然后通过另一个具有不同名称的“包装器”成员访问它,该名称只是委托给它,但在 VB.NET 中,您可以使用一个方法来完成这两个操作。)
那么可以做到吗?
标记
c# - LINQ to SQL 对象实现接口?
在我的数据库中,我有以下表格
我的应用程序中有相应的 POCO 类
我有接口 IExpression
我的应用程序中的一个业务对象聚合了一个 IExpression 类型的对象,如下所示
这样做是因为 MyBusinessObject 上的此属性可以是 CustomExpression 或 GlobalExpression 类型,但它是动态决定的。
这一切都很好,但我被指示取出 CustomExpression 和 GlobalExpression 对象并直接使用 CustomExpression 和 GlobalExpression linqtosql 对象。这使我不必在每次需要对数据库执行某些操作时都从 POCO 转换为 linqtosql 对象。
这个问题是,我不再有实现 IExpression 接口的 CustomExpression 和 GlobalExpression 对象。
在这种情况下我该怎么办?有没有办法用这些对象来表示与该接口的这种关系?
vba - 一个类可以扩展 Collection 对象吗?
我正在尝试Collection
在新类中扩展 VBA 对象的功能并使此类成为的继承者Collection
,但该Implements Collection
语句给了我以下错误:
工具接口错误:方法名称中带有下划线。
什么下划线?!Add
、Item
、Remove
和Count
是文档中列出的唯一方法Collection
。所有四个都没有下划线。
编辑:为了澄清,我正在制作一个名为的类UniformCollection
(仅接受相同类型的成员,受此方法的启发)。我希望它实现 Collection
,以便 aUniformCollection
是 a Collection
并且可以Collection
在调用其他对象的方法等时代替 a 使用。
我知道我必须为 Add、Item 等编写委派方法/属性,并为For Each
工作编写一个 NewEnum 属性,而且我已经这样做了。
我的问题是该Implements Collection
语句给了我上述错误。
奖金问题:是Count
方法还是属性Collection
?帮助将其称为属性,但 VBA 编辑器中的对象浏览器将其称为函数,即方法(飞黄框)。
c# - 是否允许类在 C# 中实现接口和其他私有方法?
我有以下界面:
这是由以下类实现的:
我的代码编译没有任何问题,但我想知道添加不在接口定义中的私有方法(或通常任何方法)是否是一种好的 OO 编程实践。
objective-c - libxml2 是否支持 XPath 2.0?
我尝试使用XPath 2.0
exp //span/string(.)
in libxml2
,但它不起作用。
所以,我的问题是:libxml2
支持XPath 2.0
与否?
.net - DataTable 是否实现 IListSource?
文档(和智能感知)非常清楚地说明了DataTable
实现IListSource
. 但是为什么没有方法,它是接口的(主要)DataTable
部分?getList()
IListView
java - 如何允许作为接口实现的线程与 JWindow 对象进行通信?
如何让网络计数器值包含在我的Main JButton 目标中?我正在做这样的事情:
主.java:
进程.java
网络.java
网络监听器.java
c# - 两个参数导致“类型中的方法没有实现”异常?
我有一个包含多个项目的解决方案。与该问题相关的是 API 类库、CustomTriggers 类库和网站。CustomTriggers 和网站都引用 API。CustomTriggers 实现位于 API 中的接口 ITrigger。
问题是,如果我在接口 ITrigger 的“运行”方法中定义了一个参数,则一切正常,但是如果我定义了两个参数,则程序集中的“CustomTriggers.*”类型中的“方法“运行”*没有实现' 抛出异常。我不明白为什么。
界面:
'CustomTriggers' 项目中实现 ITrigger 的类:
[不] 抛出异常的方法 [stub]:
所以......这段代码符合并运行得很好。看不到烦恼。
但是当我向“ITrigger”和“SomeTrigger”的“运行”方法添加另一个参数时
它在注释指示的行中引发异常:
我完全没主意了。一点帮助?
c# - 多次实施尝试
我正在开发一种解决方案,该解决方案将连接到各种服务器以读取数据并执行操作。有许多变量会使可靠通信复杂化,例如防火墙、停止/失败的服务、身份验证差异和各种软件配置。我可以使用一些方法来解决这些问题,尽管在执行时不知道哪种方法会成功。
我的目标是创建一个可用于执行操作的接口和实现。第一个方法调用将是适用于大多数设备的最快实现,然后是其他可以处理前面列出的问题的调用。
在一个完美的世界中,该过程将被编写为快速确定哪种方法会成功,但在我的测试中,处理时间与简单地捕获异常一样多。虽然性能始终是一个考虑因素,但最终成功完成任务更为重要。
下面是我创建的一个示例,它演示了迭代实现列表的最坏情况。虽然这适用于一种方法,但在 20 种或更多不同操作中使用时,它不遵循 DRY 原则。一种可能的解决方案是 Unity 和 Interception,但我发现调用处理程序中的调用方法使用已解决的实现,而不是可能实现的列表。除非我遗漏了什么,否则这似乎不是一个选择。另外,我需要为几个接口遵循这个模式,所以最好创建一个可以迭代实现列表的通用处理程序。
任何有关如何完成此任务的建议将不胜感激!
界面
实现
特殊实现循环通过其他实现,直到一个成功无一例外