C#公共接口与接口的区别

3

公共接口声明和接口有什么区别?(我认为接口默认是公共的)。

我问这个问题是因为VS2012正在抱怨访问级别。

我已经声明:

interface Ixyz
{nothing important here}

并且在另一个使用Ixhz作为其类型的类中,还有属性:

public Ixhz Somename
{nothing important here}

当我尝试编译这个项目时,它抱怨访问级别的问题。但是当我像这样声明接口public interface Ixyz后,它就停止了这种情况。添加public到接口会有什么后果吗?


1
默认情况下,它们是受保护的。 - Tomasz Kowalczyk
查找publicinternal的区别。 - Matthew
2
@TomaszKowalczykL 错了。 - SLaks
4
不,实际上不是这样的。顶级类型默认为internal。嵌套类型默认为private - Jon Skeet
1个回答

6

接口中的成员始终是公共的,事实上不能有访问修饰符。

接口本身具有与其他类型相同的默认访问级别。

具体来说,顶层类型默认为internal,嵌套类型默认为private


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接