C# 使用接口访问修饰符

C# 使用接口访问修饰符,c#,interface,C#,Interface,我不熟悉.NETC。我正在学习接口 我们可以对接口使用访问修饰符吗?如果可以,哪些是有效的 默认情况下,接口是内部的吗 我们可以在接口成员上使用访问修饰符吗?如果可以,哪些是有效的 由于C#8.0,您可以在接口内部使用访问修饰符。看到这个帖子了吗 C#8.0之前的 你应该看到: 直接在命名空间中声明的接口可以声明为公共接口或内部接口,就像类和结构一样,还可以声明为接口 默认为内部访问。接口成员始终是公共的 因为接口的目的是使其他类型能够访问 类或结构。无法将访问修饰符应用于接口 成员们 (

我不熟悉.NETC。我正在学习接口

  • 我们可以对接口使用访问修饰符吗?如果可以,哪些是有效的
  • 默认情况下,接口是内部的吗
  • 我们可以在接口成员上使用访问修饰符吗?如果可以,哪些是有效的
  • 由于C#8.0,您可以在接口内部使用访问修饰符。看到这个帖子了吗


    C#8.0之前的

    你应该看到:

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

    (请回答您的问题)

    我们可以在界面中使用访问修饰符吗

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

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

    那么具有Inteface成员的访问修改器呢


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

    1。您可以将访问修饰符与接口一起使用。 您可以在接口上使用任何访问修饰符,甚至可以在类中使用私有访问修饰符

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

    3.接口成员必须是公共的


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

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

    namespace myNamespace{
        private interface MyInterface{...}
    }
    
    这是因为MyInterface不会被任何其他类/接口利用

    但你能做到

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

    在这种情况下,MyInterface可能仅由MyClass使用,hi iam有一点缺陷,即在直接名称空间中,我创建了私有接口,它提供了编译权限。请详细说明一下。嗯,您不能在名称空间中直接定义私有接口,因为您不能在名称空间中定义私有类,这是因为任何人都不能使用私有交互/类。但是你可以在另一个类中声明一个私有接口/类非常感谢Habib…@SaurabhMahajan,你是welcomeHi Habib,我需要你的帮助,因为你告诉我“Intefaces成员总是公共的”。我将一个成员函数声明为public,这会导致编译错误,如果我删除了public关键字,那么它可以正常工作。@SaurabhMahajan,您不能为接口成员指定访问修饰符。默认情况下,它们都是公共的。这在C#8中有所改变。现在,在接口中为部分或所有成员提供访问修饰符是完全有效的。为什么不试试呢?因为向有堆栈溢出经验的人学习要快得多。我们为什么在这里?因为这是通往更好生活的捷径。