为什么 C# 静态构造函数需要括号?

2024-04-28

考虑:

class Foo
{
    static Foo()
    {
        // Static initialisation
    }
}

为什么是()需要在static Foo() {...}?静态构造函数必须始终是无参数的,那为什么还要麻烦呢?它们是否有必要避免一些解析器的歧义,或者只是为了保持与常规无参数构造函数的一致性?

由于它看起来非常像初始化块,因此我经常发现自己不小心将它们遗漏了,然后不得不花几秒钟思考出了什么问题。如果它们能以同样的方式被省略就好了。


因为它是静态的构造函数, 所以就是static+ 一个看起来很正常的构造函数。

一致性是关键。 :-)

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

为什么 C# 静态构造函数需要括号? 的相关文章

  • 将复选框添加到 UniformGrid

    我正在尝试将复选框动态添加到 wpf 中的统一网格中 但看起来网格没有为它们分配足够的空间 所以它们都有点互相重叠 这就是我将它们添加到后面的代码中的方法 foreach string folder in subfolders PathCh
  • 如何检查图像对象与资源中的图像对象是否相同?

    所以我试图创建一个简单的程序 只需在单击图片框中更改图片即可 我目前只使用两张图片 所以我的图片框单击事件函数的代码 看起来像这样 private void pictureBox1 Click object sender EventArgs
  • 如何验证文件名称在 Windows 中是否有效?

    是否有一个 Windows API 函数可以将字符串值传递给该函数 该函数将返回一个指示文件名是否有效的值 我需要验证文件名是否有效 并且我正在寻找一种简单的方法来完成此操作 而无需重新发明轮子 我正在直接使用 C 但针对的是 Win32
  • 无法使用已与其底层 RCW 分离的 COM 对象。在 oledb 中

    我收到此错误 但我不知道我做错了什么 下面的代码在backrgroundworker中 将异常详细信息复制到剪贴板 System Runtime InteropServices InvalidComObjectException 未处理 通
  • 是否可以强制 XMLWriter 将元素写入单引号中?

    这是我的代码 var ptFirstName tboxFirstName Text writer WriteAttributeString first ptFirstName 请注意 即使我使用 ptFirstName 也会以双引号结束 p
  • 如何避免情绪低落?

    我有一个实现状态模式每个状态处理从事件队列获取的事件 根据State因此类有一个纯虚方法void handleEvent const Event 事件继承基础Event类 但每个事件都包含其可以是不同类型的数据 例如 int string
  • 如何在列表框项目之间画一条线

    我希望能够用水平线分隔列表框中的每个项目 这只是我用于绘制项目的一些代码 private void symptomsList DrawItem object sender System Windows Forms DrawItemEvent
  • 使闭包捕获的变量变得易失性

    闭包捕获的变量如何与不同线程交互 在下面的示例代码中 我想将totalEvents 声明为易失性的 但C 不允许这样做 是的 我知道这是错误的代码 这只是一个例子 private void WaitFor10Events volatile
  • 实时服务器上的 woff 字体 MIME 类型错误

    我有一个 asp net MVC 4 网站 我在其中使用 woff 字体 在 VS IIS 上运行时一切正常 然而 当我将 pate 上传到 1and1 托管 实时服务器 时 我得到以下信息 网络错误 404 未找到 http www co
  • Newtonsoft JSON PreserveReferences处理自定义等于用法

    我目前在使用 Newtonsoft Json 时遇到一些问题 我想要的很简单 将要序列化的对象与所有属性和子属性进行比较以确保相等 我现在尝试创建自己的 EqualityComparer 但它仅与父对象的属性进行比较 另外 我尝试编写自己的
  • WPF 中的调度程序和异步等待

    我正在尝试学习 WPF C 中的异步编程 但我陷入了异步编程和使用调度程序的困境 它们是不同的还是在相同的场景中使用 我愿意简短地回答这个问题 以免含糊不清 因为我知道我混淆了 WPF 中的概念和函数 但还不足以在功能上正确使用它 我在这里
  • 指针问题(仅在发布版本中)

    不确定如何描述这一点 但我在这里 由于某种原因 当尝试创建我的游戏的发布版本进行测试时 它的敌人创建方面不起作用 Enemies e level1 3 e level1 0 Enemies sdlLib 500 2 3 128 250 32
  • C# 中的递归自定义配置

    我正在尝试创建一个遵循以下递归结构的自定义配置部分
  • 从路径中获取文件夹名称

    我有一些路c server folderName1 another name something another folder 我如何从那里提取最后一个文件夹名称 我尝试了几件事 但没有成功 我只是不想寻找最后的 然后就去休息了 Thank
  • 如何衡量两个字符串之间的相似度? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 给定两个字符串text1 and text2 public SOMEUSABLERETURNTYPE Compare string t
  • 从库中捕获主线程 SynchronizationContext 或 Dispatcher

    我有一个 C 库 希望能够将工作发送 发布到 主 ui 线程 如果存在 该库可供以下人员使用 一个winforms应用程序 本机应用程序 带 UI 控制台应用程序 没有 UI 在库中 我想在初始化期间捕获一些东西 Synchronizati
  • 如何使我的表单标题栏遵循 Windows 深色主题?

    我已经下载了Windows 10更新包括黑暗主题 文件资源管理器等都是深色主题 但是当我创建自己的 C 表单应用程序时 标题栏是亮白色的 如何使我自己的桌面应用程序遵循我在 Windows 中设置的深色主题 你需要调用DwmSetWindo
  • 控制到达非 void 函数末尾 -wreturn-type

    这是查找四个数字中的最大值的代码 include
  • 为什么我收到“找不到编译动态表达式所需的一种或多种类型。”?

    我有一个已更新的项目 NET 3 5 MVC v2 到 NET 4 0 MVC v3 当我尝试使用或设置时编译出现错误 ViewBag Title财产 找不到编译动态表达式所需的一种或多种类型 您是否缺少对 Microsoft CSharp
  • 如何在 C++ BOOST 中像图形一样加载 TIFF 图像

    我想要加载一个 tiff 图像 带有带有浮点值的像素的 GEOTIFF 例如 boost C 中的图形 我是 C 的新手 我的目标是使用从源 A 到目标 B 的双向 Dijkstra 来获得更高的性能 Boost GIL load tiif

随机推荐

  • 绝对定位的最小高度

    我的页面 topLeft 上有一个区域设置了最小高度 在 topLeft 中 我有一个 heroBanners 部分 我希望将其锚定到 topLeft 的底部 使用position absolute 底部 0 起初 这工作正常 但是当 to
  • SQL SERVER 中是否有与 MS Access 的 VAL() 函数等效的函数?

    我在直接在 sql server 中运行代码 Access Query 时遇到问题 其中包含VAL CoLUMN NAME 经过大量谷歌搜索后 我发现了一个CAST COLUMN AS DATATYPE 取代VAL 但是当该列是文本类型并且
  • 如果不使用静态成员,静态成员变量是否在模板类中初始化?

    如果不使用静态成员 静态成员变量是否在模板类中初始化 我用它来注册类型 template
  • 如何在 Postgres 中的 JSON 字段上创建索引?

    在 PostgreSQL 9 3 Beta 2 中 如何在 JSON 字段上创建索引 我尝试使用 gt 运算符用于hstore但出现以下错误 CREATE TABLE publishers id INT info JSON CREATE I
  • 如何在 Javafx 中对齐对话框窗格的“确定”按钮?

    我想对齐 即位置中心 对话框窗格的 确定 按钮 我已经尝试过下面的代码 但它不起作用 Dialog dialog new Dialog DialogPane dialogPane dialog getDialogPane dialogPan
  • 在 REST WCF 中读取 HttpRequest 正文

    我在 net 4 中运行了一个 REST WCF 服务 并且我已经测试了它正在工作并接受我对其发出的 HttpRequest 的 Web 服务 但我在尝试访问 Web 服务中的 HttpRequest 主体时遇到了问题 我尝试使用 Fidd
  • UICollectionView - 水平滚动,水平布局?

    我有一个UIScrollView布置了一个图标网格 如果您能够想象 iOS Springboard 的布局 那么您的想法就非常接近正确了 它有一个水平的分页滚动条 就像 Springboard 一样 不过 布局似乎不太对劲 看起来好像是从上
  • 抑制 R 中的安装输出

    这真的开始让我烦恼 我尝试了几种方法 但似乎都不起作用 我正在从一个函数运行安装 该函数会生成许多我想抑制的不必要的消息 但我尝试执行此操作的所有方法都不起作用 我试图抑制的代码是 install github ROAUth duncant
  • 如何通过按 ESC 键关闭窗口(NSWindowController)?

    Issue 我希望用户能够通过按 ESC 键来关闭窗口 但在这种特定情况下我无法让它工作 按 ESC 会触发错误声音 不 你不能这样做 macOS bloop 但什么也没发生 Context 我正在创建 NSWindowController
  • MVC 的设计是 RESTful 的吗

    MVC 必须是 RESTful 的吗 有没有办法制作一个SOAP服务使用MVC图案 输入请求实际上会进入View首先然后进入Controller那么Model eg Request gt View gt Controller gt Mode
  • 当我调用 CMake 时如何定义变量,以便 qtcreator 知道它已定义?

    我有一段根据 define 有条件激活的代码 如下所示 ifdef VARIABLE code function endif cmake 脚本有一个 选项 命令 可以像这样设置变量 option VARIABLE Want to use V
  • 使用 java.nio.Files 更改 Linux 下的文件所有者组

    我有一台 Linux 服务器 并且正在 Java 中为服务器上的多个网站运行图像调整大小作业 网站文件由不同的操作系统用户 组拥有 新创建的缩略图 预览由运行调整大小作业的用户拥有 现在我正在谷歌搜索如何在调整大小程序中更改新创建的预览 缩
  • 使用安全字符串并保持其安全[重复]

    这个问题在这里已经有答案了 所以 NET框架提供了安全字符串 http msdn microsoft com en us library system security securestring aspx用于以安全方式存储字符串的类 但要读
  • 如何提高非持久 CGI 进程中的 Moose 性能?

    Moose http search cpan org dist Moose 是一个很棒的对象框架 问题在于 连同它的依赖项一起 它是very大的 我们的分析表明 在我们的平台上 仅加载 Moose 就会在非持久性 CGI 应用程序脚本上产生
  • 如何从位图中删除白色背景色

    我想删除位图中的白色背景颜色 Bitmap capcha new Bitmap C image jpg pictureBox1 Image capcha 但我想在我的 pictureBox1 中仅显示背景中存在的没有白色的图像 尝试在验证码
  • UITableViewDiffableDataSource 可以检测到项目已更改吗?

    在下面与 AndreasOetjen讨论后重写了这个问题 感谢他的评论 我在使用时遇到了问题UITableView具有不同的数据源 在我的应用程序中 当用户修改某个项目时 它可能会更改同一表视图中显示的另一个项目 问题是 在我创建并应用包含
  • 复选框和标签之间的填充

    对于 CSS 专家来说 此标记输出一个带有标签的复选框Value1在它的右边 但是Value1距离复选框太近 dd dd
  • 如何广播对 Android 应用程序安装的推荐

    没有回答 几乎同样的问题 https stackoverflow com questions 18571920 how to get referrer url for apps downloaded from outside the mar
  • 使用 php 执行 *.sql 文件

    我需要执行一个 sql 文件 其中大约有 48 个要创建的表 它由注释和以 结尾的sql命令组成 有没有办法运行这些 sql 命令 将它们立即转换为单个字符串 我的意思是我需要使用 php 立即运行整个文件 我可以使用 mysql quer
  • 为什么 C# 静态构造函数需要括号?

    考虑 class Foo static Foo Static initialisation 为什么是 需要在static Foo 静态构造函数必须始终是无参数的 那为什么还要麻烦呢 它们是否有必要避免一些解析器的歧义 或者只是为了保持与常规