问题标签 [explicit-interface]

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 投票
4 回答
3381 浏览

c# - C# - 具有继承的显式接口?

输出:
B->你好!从显式。

不应该是:?
A->你好!从显式。

为什么不从 A 类显式转换 (IHello)a 调用 IHello.Hello()?

0 投票
3 回答
378 浏览

.net - 如何确定显式实现的 MethodInfo 对象引用了哪个接口?

我有一个MethodInfo表示显式实现的接口方法的对象,如下所示。

如何查询此MethodInfo对象以获取它实现的接口类型,一个Type对象表示System.Collections.IEnumerable?该InterfaceMapping结构提供了逆操作,获取MethodInfo实现给定接口的类型的对象,因此这不起作用。

请注意,这是一个人为的示例,因为我可以清楚地解析此信息的方法名称。如果可能的话,我想避免这样做。

0 投票
4 回答
3463 浏览

c# - C# 属性在派生类中不可用

我不确定发生了什么事。我有以下基类:

然后我有这个派生类:

为什么我会收到这个错误?“'MyNamespace.MyRow' 不包含 'Keys' 的定义”。这两个类都在MyNamespace命名空间中。我尝试访问this.Keysbase.Keys但都不能从内部工作MySubRow。我尝试将Keys属性标记为publicin,MyRow但得到“修饰符 'public' 对此项目无效”,我认为是因为有必要实现接口。

0 投票
2 回答
855 浏览

c# - 显式实现的接口和通用约束

实际编译的代码有什么区别(CallHidden1 与 CallHidden2)吗?在访问显式实现的接口成员时, where T : Foo 和 where T : Foo, IBar (如果 Foo 实现 IBar)之间还有其他区别吗?

0 投票
2 回答
4906 浏览

c# - 在 C# 中具有显式接口的对象初始化器

如何在 C# 中使用具有显式接口实现的对象初始化程序?

0 投票
1 回答
678 浏览

c# - 使用 Rhino Mocks 去除显式实现接口的方法

如何使用 Rhino Mocks 将显式实现接口的方法存根?

据我了解,Rhino Mocks 要求存根方法是虚拟的,并且显式实现的接口成员不是虚拟的。

0 投票
4 回答
2480 浏览

c# - 为什么一个类会显式地而不是隐式地实现 IDisposable?

我正在使用FtpWebResponse类,但没有看到 Dispose 方法。 事实证明,该类实现了 IDisposable,但这样做是明确的,因此您必须在调用 Dispose 之前首先将您的实例强制转换为 IDisposable:

为什么像这样的类的设计者会选择显式地实现 IDisposable?正如Anthony Pegram 所说,以这种方式做事掩盖了这样一个事实,即对象应该为普通开发人员处理,他们每次使用类时都没有查阅文档。

0 投票
2 回答
216 浏览

.net - IL中的显式接口实现是如何实现的?

我一直在查看 IL 中的显式接口实现。Method以下类中的方法(接口IA上有一个Method()):

编译为以下 IL 方法签名:

我的问题是 - 为什么在 IL 中的方法名称IA.Method(),而不仅仅是直Method?这实际上意味着什么,如果错过了它为什么不起作用?我在 ECMA 规范或谷歌中找不到任何关于它的内容。

0 投票
6 回答
7991 浏览

c# - 显式接口实现限制

我有一个非常简单的场景:“”可以是公司的“客户”或“员工”。

可以使用“呼叫”方法通过电话呼叫“人”。

根据“”在通话中扮演的角色,例如新产品的发布或组织变更的声明,我们应该使用为“客户”角色提供的电话号码或提供的电话号码对于“员工”角色。

以下是情况的总结:

但是此代码无法编译并产生错误:

这种情况是否有机会以不同的方式在 C# 中实现,还是我必须找到另一种设计?

如果是这样,您提出了哪些替代方案?

在此先感谢您的帮助。

0 投票
6 回答
2095 浏览

c# - 如何列出不实现 Add(object value)?

我相信这很愚蠢,我有点不好意思问这种问题,但我仍然找不到答案:

我正在看课程List<T>,它实现了IList

Ilist 中包含的方法之一是

我知道不List<T>应该公开该方法(类型安全......),它确实没有。但怎么可能呢?类不能实现整个接口吗?