枚举在类体之外但在命名空间内的定义

2024-04-09

今天,我遇到了一些类似这样的代码。

namespace Foo
{

    public enum Game{ High, Low};
    public enum Switch{On, Off};

    public class Bar()
    {
    // Blah
    }
}

我无法弄清楚这与在类中声明枚举之间有什么区别。 AFAIK,您仍然可以“覆盖”类内的那些枚举。


枚举是类型,就像类一样。当您在类中声明枚举时,它只是一个嵌套类型。嵌套枚举只是hides在外部作用域中声明的具有相同名称的其他枚举,但您仍然可以通过其完全限定名称(在示例中使用命名空间前缀)引用隐藏枚举。

决定是声明顶级枚举还是嵌套枚举取决于您的设计以及这些枚举是否会被类以外的任何对象使用。您还可以将嵌套枚举设为私有或对其封闭类型进行保护。但是,顶级枚举更为常见。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

枚举在类体之外但在命名空间内的定义 的相关文章

  • 如何使用 zlib 制作 .zip 文件

    我正在阅读zlib的文档 它相当详细 但我读到了这一行 输出数据将位于zlib格式 与 gzip 或zip formats http www zlib net zlib how html http www zlib net zlib how
  • 内联函数/方法

    声明 内联函数必须在调用之前定义 这个说法正确吗 EDIT 该问题最初是德语 内联功能穆森 弗 伊赫雷姆 奥夫鲁夫定义 sein 也许它对任何人都有帮助 是的 它是正确的 但只是部分正确 它可能正确地重新构建如下 内联函数必须在每个翻译单位
  • 将字节数组转换为托管结构

    更新 这个问题的答案帮助我编写了开源项目GitHub 上的 AlicanC 现代战争 2 工具 https github com AlicanC AlicanC s Modern Warfare 2 Tool 你可以看到我是如何阅读这些数据
  • 为什么Apache MPM prefork.c 使用互斥体来保护accept()?

    我坐下来读书Apache 的 MPM prefork c http code metager de source xref apache httpd server mpm prefork prefork c这段代码使用了一个名为accept
  • C# 正则表达式用于查找 中具有特定结尾的链接

    我需要一个正则表达式模式来查找字符串 带有 HTML 代码 中的链接 以获取文件结尾如 gif 或 png 的链接 示例字符串 a href site com folder picture png target blank picture
  • 在 C# Winforms 应用程序中嵌入 Windows XP 主题

    我有一个旧版 C Windows 窗体应用程序 其布局是根据 Windows XP 默认主题设计的 由于需要将其作为 Citrix 应用程序进行分发 该应用程序现在看起来像经典主题应用程序 因为 Citrix 不鼓励使用主题系统服务 所以
  • SFINAE 如何使用省略号?

    过去 当使用 SFINAE 选择构造函数重载时 我通常使用以下内容 template
  • 将字符串转换为正确的 URI 格式?

    有没有简单的方法可以将电子邮件地址字符串转换为正确的 URI 格式 Input http mywebsite com validate email 3DE4ED727750215D957F8A1E4B117C38E7250C33 email
  • 劫持系统调用

    我正在编写一个内核模块 我需要劫持 包装一些系统调用 我正在暴力破解 sys call table 地址 并使用 cr0 来禁用 启用页面保护 到目前为止一切顺利 一旦完成 我将公开整个代码 因此如果有人愿意 我可以更新这个问题 无论如何
  • 对 boost 库的依赖项没有完整路径

    我已经成功构建了动态库 依赖于使用自定义前缀构建和安装的 boost 库 b2 install prefix PREFIX 然而 当我跑步时otool L在我的库中 我得到如下输出 libboost regex dylib compatib
  • 从成员函数指针类型生成函子

    我正在尝试简化 通过make fn 预处理参数的函子的生成 通过wrap 对于 arity 的成员函数n 生成函子基本上可以工作 但到目前为止只能通过显式指定成员函数的参数类型来实现 现在我想从它处理的成员函数类型生成正确的函子 struc
  • C# 委托责任链

    为了我的理解目的 我实现了责任链模式 Abstract Base Type public abstract class CustomerServiceDesk protected CustomerServiceDesk nextHandle
  • 使用 WF 的多线程应用程序的错误处理模式?

    我正在写一个又长又详细的问题 但只是放弃了它 转而选择一个更简单的问题 但我在这里找不到答案 应用程序简要说明 我有一个 WPF 应用程序 它生成多个线程 每个线程执行自己的 WF 处理线程和 WF 中的错误 允许用户从 GUI 端进行交互
  • 二叉树中的 BFS

    我正在尝试编写二叉树中广度优先搜索的代码 我已将所有数据存储在队列中 但我不知道如何访问所有节点并消耗它们的所有子节点 这是我的 C 代码 void breadthFirstSearch btree bt queue q if bt NUL
  • .NET 客户端中 Google 表格中的条件格式请求

    我知道如何在 Google Sheets API 中对值和其他格式进行批量电子表格更新请求 但条件格式似乎有所不同 我已正确设置请求 AddConditionalFormatRuleRequest formatRequest new Add
  • 标准 VBA 函数“找不到项目或库”

    因此 我必须在我的 PC 上运行别人的 Excel 应用程序 并且在标准函数 如日期 格式 十六进制 中间等 上收到 找不到项目或库 的信息 一些研究表明 如果我在这些函数前加上 VBA 前缀 如 VBA Date 中那样 它会正常工作 网
  • 为什么要在 C++ 中使用 typedef?

    可以说我有 set
  • ASP.NET JQuery AJAX POST 返回数据,但在 401 响应内

    我的应用程序中有一个网页 需要调用我设置的 Web 服务来返回对象列表 这个调用是这样设置的 document ready function var response ajax type POST contentType applicati
  • 如何引用解决方案之外的项目?

    我有一个 Visual Studio C 解决方案 其中包含一些项目 其中一个项目需要引用另一个不属于解决方案的项目 一开始我引用了dll
  • 受限 AppDomain 中的代码访问安全异常

    Goal 我需要在权限非常有限的 AppDomain 中运行一些代码 它不应该访问任何花哨或不安全的内容 except对于我在其他地方定义的一些辅助方法 我做了什么 我正在创建一个具有所需基本权限的沙箱 AppDomain 并创建一个运行代

随机推荐

  • 如何了解 Firebase 工具的当前版本

    在 node js 命令提示符下 使用 firebase help 给出这个列表 Usage firebase options command Options V version output the version number P pr
  • 使用 MSBuild 构建解决方案文件夹

    我们有一个解决方案文件其中包含一些解决方案文件夹 库 单元测试 应用程序等 With 视觉工作室2010 https en wikipedia org wiki Microsoft Visual Studio 2010我们可以通过右键单击给
  • 将进度条添加到 gdal.Warp()

    我试图找出一种在 gdal Warp 中使用进度条来显示工作完成情况的方法 对于进度条 我使用 Tqdm 和 gdal Warp 用于从远程 URL 裁剪图像 def getSubArea url vsicurl url vsicurl u
  • 如何在 Struts 2 的单个视图中使用多个表单/操作

    我有一个显示在每个页面上的搜索框 搜索框的 JSP 代码通过图块插入到每个页面中 搜索框有一个表单和一个操作类SearchAction它需要为下拉框预加载一些属性 这SearchAction类有一个input 方法 它执行此初始化 一些页面
  • VS2010 调试/分析时的性能差异

    请参阅编辑 底部 问题可能不是我最初想的 Hi All 我正在编写一个图形库 它可以处理许多滤镜 效果 包括模糊 我一直在尝试优化我的代码 但遇到了一些我不明白的东西 当我运行代码时without在性能向导中 小图像上的简单 3x3 模糊可
  • 在Android应用程序中使用DIAL协议

    我想在我的视频流应用程序中使用 DIAL 协议 我的应用程序是一个示例应用程序 仅使用 VideoView 播放 HLS 示例流 我想集成 DIAL 协议 http www dial multiscreen org http www dia
  • servlet 代码中类型信息丢失

    我有一个与 Jersey 一起使用的简单闪存实现 如下所示 PostConstruct def before flash rotateIn PreDestroy def after flash rotateOut object flash
  • 如何在 XCode5+ 中创建 Interface Builder 插件?

    我需要做一个对象库 一个 Interface Builder 插件 例如Mapkit这样用户就可以拖动我的自定义对象并添加到UIView 作为属性 我想用我的基本属性来显示和配置它 知道如何做到这一点吗 thanks 在 Xcode 4 0
  • 通过javascript设置iframe的useragent

    试图满足的业务需求 在 iframe 中加载现有页面 模拟 iPhone 用户代理 这需要在客户端发生的原因是 有客户端脚本它检测用户代理并将一些类附加到 html 元素上 基于此 站点的样式将发生根本性的变化 因为 CSS 的目标元素是基
  • DBMS_RANDOM 被认为是危险的吗?

    我们的数据库团队希望从 PUBLIC 撤销 DBMS RANDOM 上的执行 以解决安全问题 如果你用谷歌搜索它 一些安全专家会认为这个包很危险 但没有说出原因 Ingram 和 Shaul 的书 Practical Oracle Secu
  • Android 4.4.4 上的改造 SSL 错误

    我们有一个现有的 Android 应用程序 它使用 Retrofit 连接到服务器并发送和接收 JSON 自从将我的设备更新到 Android 4 4 4 后 我在尝试连接时收到以下错误 D Retrofit 8004 javax net
  • Android Volley ECONNRESET

    我尝试使用Volley库并将图像上传到服务器 该库应该在独立模式下执行此过程 但出现以下错误消息 java net SocketException 发送失败 ECONNRESET 连接重置 由同行 是否可能是服务器端配置错误 我尝试上传一个
  • 不需要时禁用 R Shiny 中的 selectInput

    我正在构建一个shiny网页由两个表单组成selectInput 第一个 静态 在ui部分和第二部分 动态 在server部分 实际问题的简化如下所示 require shiny ui lt fluidPage The static inp
  • 防止“删除和更新”firebase中的子项

    我发现没有办法设置安全规则来防止孩子的 删除和更新 write data exists newData exists newData exists 那没有道理 为了便于将来参考 Firebase 控制台允许您测试数据库安全规则 以便您可以在
  • EF 7 迁移到现有数据库

    我正在使用 ASP Net 5 和 EF7 开发一个 Web 项目 我已将现有数据库中的所有表导入到项目中的模型中 但是 我在迁移方面遇到了问题 我已经创建了初始迁移 对特定实体进行了一些更改 在所做的更改之后创建了另一个迁移 现在想要在数
  • 快速排序可以在没有堆栈和递归的情况下用C实现吗?

    我找到了这个帖子如何在c中不使用堆栈进行迭代快速排序 https stackoverflow com questions 32388760 how to do iterative quicksort without using stack
  • 如何在powershell中获取对象属性的名称?

    我知道我可以使用 get member 来获取对象的所有属性 但我正在浏览对象列表 并且我对名称不断变化的最后一个属性感兴趣 为了自动化我的脚本 我试图获取最后一个属性的名称 但我不确定如何获取 假设我有 result get member
  • 如何在php脚本中加载Wordpress环境?

    如何在脚本中加载Wordpress环境 以便使用Wordpress的功能 我需要这个 因为我需要从异步执行的脚本中调用多个函数 您需要加载 wp load php 文件 然后该文件将允许您调用 WordPress 函数 例如 require
  • 安装和配置 xvfb

    我正在尝试找到兼容的 Ubuntu 操作系统 xorg 版本和 xvfb 版本 任何人都可以帮我指导安装 xvfb 而不需要挂断吗 初始化内置扩展 GLX 到目前为止我已经尝试过以下方法 Ubuntu 13 Server No graphi
  • 枚举在类体之外但在命名空间内的定义

    今天 我遇到了一些类似这样的代码 namespace Foo public enum Game High Low public enum Switch On Off public class Bar Blah 我无法弄清楚这与在类中声明枚举