一尘不染

为什么接口的显式实现不能公开?

c#

我在Class中有实现接口的方法。当我实现显式实现时,出现编译器错误

The modifier 'public' is not valid for this item

为什么不允许public显式接口实现?


阅读 338

收藏
2020-05-19

共1个答案

一尘不染

显式接口实现的原因是避免名称冲突,最终结果是在调用这些方法之前必须将对象显式转换为该接口。

您可以认为这些方法不是在类上公开的,而是直接与接口绑定的。没有必要指定public / private /
protected,因为接口不能具有非public成员,所以它将始终是public。

(Microsoft 概述了显式接口的实现

2020-05-19