11

我是 .net C# 的新手。我正在学习接口。

  1. 我们可以在接口中使用访问修饰符吗?如果可以,哪些是有效的?
  2. 默认情况下,接口是内部的吗?
  3. 我们可以在接口成员上使用访问修饰符吗?如果可以,哪些是有效的?
4

2 回答 2

37

从 C# 8.0 开始,您可以在接口内使用访问修饰符。请参阅这篇文章 C# 8 接口:公共、私有和受保护的成员


在 C# 8.0 之前

你应该看到:

访问修饰符 - MSDN

直接在命名空间中声明的接口可以声明为公共的或内部的,就像类和结构一样,接口默认为内部访问。接口成员始终是公共的,因为接口的目的是使其他类型能够访问类或结构。不能将访问修饰符应用于接口成员。

(对于您的问题)

我们可以使用带接口的访问修饰符吗

是的,它们可以被声明为公共的或内部的

默认情况下是内部接口

是的。

带有接口成员的访问修饰符怎么样。

他们是公开的。不能将访问修饰符应用于接口成员。

于 2013-04-19T09:41:38.043 回答
0

1.你可以在接口上使用访问修饰符。您可以像在类中一样在接口上使用任何访问修饰符,甚至是私有的

2.是的,默认接口是内部的

3.interface成员必须是public

好吧,你不能直接在命名空间中定义私有接口,因为你不能在命名空间中定义私有类,这是因为私有接口/类不能被任何人使用。但是你可以在另一个类中声明一个私有接口/类

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

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

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

但你可以

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

在这种情况下,MyInterface 只能由 MyClass 使用

于 2013-04-19T09:42:49.097 回答