带接口的访问修饰符[关闭]

问题描述 投票:5回答:2
我是.net C#的新手。我正在学习接口。

    我们是否可以在接口中使用访问修饰符,如果有效,这些修饰符有效吗?
  1. 默认情况下,接口是内部的吗?
  2. 如果可以,我们可以在接口成员上使用访问修饰符吗?
c# interface
2个回答
27
投票
自C#8.0起,您可以在界面内部使用访问修饰符。看到这个帖子C# 8 Interfaces: Public, Private, and Protected Members


C#8.0之前

您应该看到:

Access Modifier - MSDN

直接在名称空间中声明的接口可以声明为公共或内部接口,就像类和结构一样,也可以是接口默认为内部访问。

接口成员始终是公共的因为接口的目的是使其他类型的访问一个类或结构。无法将访问修饰符应用于界面成员。

((对您的问题)

我们可以在接口中使用访问修饰符

是,可以声明为公共或内部

默认情况下是内部接口

是。

有关具有Inteface成员的Access Modfiers的信息。

它们是公开的。无法将访问修饰符应用于接口成员。


0
投票
1。您可以在接口中使用访问修饰符。您可以像在类中那样在接口上使用任何访问修饰符甚至是私有的]

2。是,默认情况下,接口是内部的

3.interface成员必须是公共的

嗯,您不能直接在名称空间中定义私有接口,因为您无法在名称空间中定义私有类,这是因为任何人都不能使用私有接口/类。但您可以在另一个类中声明一个私有接口/类

我的意思是你不能这样做:

namespace myNamespace{ private interface MyInterface{...} }

那是因为MyInterface不能被任何其他类/接口使用

但是你可以做

namespace myNamespace{ class MyClass{ private interface MyInterface{...} } }

在这种情况下,MyInterface只能由MyClass使用
© www.soinside.com 2019 - 2024. All rights reserved.