c# - protected 枚举在 C# 中不可能

标签 c# language-features

我只是想了解为什么我不能在 C# 上创建 protected 枚举?

编译器拒绝接受

有人知道为什么会这样吗?

最佳答案

你可以有一个嵌套在另一个类型中的 protected 类型 - 并且包括枚举:

public class Outer
{
    protected enum NestedEnum { Foo, Bar, Baz };
}

但是,使非嵌套类型 protected 没有意义—— protected 修饰符是关于从派生类型中授予对成员的访问权限;由于顶级类型只是一个命名空间的成员,而不是另一个类型,因此您无法从中派生任何类型来获得额外的访问权限。

您能否描述一下您实际想要实现的目标,然后我们可以尝试找出最合适的可见性是什么?

关于c# - protected 枚举在 C# 中不可能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2442367/

相关文章:

sharepoint-2010 - 创建后如何更改站点的默认语言 (sharepoint 2010)?

scala - val 或 object 表示不可变的最终单例对象

c# - 枚举定义中的波浪号 (~) 是什么?

c# - DateTime[] 和 Object[] 问题

c# - Process.Start 在 Server 2012 上挂起

c# - 访问 azure blob 已退出,代码为零

c# - C# 中 "this"赋值的示例是什么?

c# - 解析 JSON 响应的最简单方法

c# - 如何以及何时翻译和评估 LINQ 查询?

Python 字典详细信息