我是 .net C# 的新手。我正在学习接口。
- 我们可以在接口中使用访问修饰符吗?如果可以,哪些是有效的?
- 默认情况下,接口是内部的吗?
- 我们可以在接口成员上使用访问修饰符吗?如果可以,哪些是有效的?
从 C# 8.0 开始,您可以在接口内使用访问修饰符。请参阅这篇文章 C# 8 接口:公共、私有和受保护的成员
在 C# 8.0 之前
你应该看到:
直接在命名空间中声明的接口可以声明为公共的或内部的,就像类和结构一样,接口默认为内部访问。接口成员始终是公共的,因为接口的目的是使其他类型能够访问类或结构。不能将访问修饰符应用于接口成员。
(对于您的问题)
我们可以使用带接口的访问修饰符吗
是的,它们可以被声明为公共的或内部的
默认情况下是内部接口
是的。
带有接口成员的访问修饰符怎么样。
他们是公开的。不能将访问修饰符应用于接口成员。
1.你可以在接口上使用访问修饰符。您可以像在类中一样在接口上使用任何访问修饰符,甚至是私有的
2.是的,默认接口是内部的
3.interface成员必须是public
好吧,你不能直接在命名空间中定义私有接口,因为你不能在命名空间中定义私有类,这是因为私有接口/类不能被任何人使用。但是你可以在另一个类中声明一个私有接口/类
我的意思是你不能这样做:
namespace myNamespace{
private interface MyInterface{...}
}
那是因为 MyInterface 不能被任何其他类/接口使用
但你可以
namespace myNamespace{
class MyClass{
private interface MyInterface{...}
}
}
在这种情况下,MyInterface 只能由 MyClass 使用