为什么我们无法在.Net中创建静态类的实例

2024-02-01

根据 MSDN

"一个类可以声明为静态,表明它只包含 静态成员。无法创建静态实例 使用 new 关键字的类。静态类会自动加载 由 .NET Framework 公共语言运行时 (CLR) 当程序 或包含该类的命名空间已加载。"

经过一些研究后,我发现静态类不包含实例构造函数。我不明白为什么静态类不包含实例构造函数以及 static 关键字有什么用。为什么.Net不允许我们创建静态类的实例?


静态类不包含任何实例成员属性或函数。所以举个例子是没有意义的。

静态类用于包含在整个程序中具有相同效果的变量、属性和函数。

例如,您可以有一个“设置”类。

它具有所有静态属性。

当它被访问时(通过静态构造函数) 自动从磁盘加载设置文件,如果找不到该文件,则重置为默认设置。

现在,从您的程序的各个部分,您只需调用即可访问此类

  • 设置.屏幕尺寸
  • 设置.RootPath

您甚至可以创建一个函数

  • Settings.Save() 将设置保存到磁盘以供下次使用。
  • Settings.Reset() 恢复默认设置。

这样做的优点是,您的所有设置将被分组到一个位置,并且您的设置的所有逻辑都被放置在一个位置。无论您在哪里调用它,您都会知道设置类只有一个实例

我希望这有帮助

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

为什么我们无法在.Net中创建静态类的实例 的相关文章

  • Func 方法参数的首选命名约定是什么?

    我承认这个问题是主观的 但我对社区的观点感兴趣 我有一个缓存类 它采用类型的缓存加载器函数Func
  • 在 Xamarin Android 中将图像从 URL 异步加载到 ImageView 中

    我有一个包含多个项目的 ListView 列表中的每个项目都应该有一个与之关联的图像 我创建了一个数组适配器来保存每个列表项并具有我希望加载的图像的 url 我正在尝试使用 Web 请求异步加载图像 并设置图像并在加载后在视图中更新它 但视
  • C++ 求二维数组每一行的最大值

    我已经设法用这个找到我的二维数组的每一行的最小值 void findLowest int A Cm int n int m int min A 0 0 for int i 0 i lt n i for int j 0 j lt m j if
  • 如何在没有 Control.Invoke() 的情况下从后台线程修改控件属性

    最近 我们遇到了一些旧版 WinForms 应用程序 我们需要更新一些新功能 在专家测试该应用程序时 发现一些旧功能被破坏 无效的跨线程操作 现在 在您认为我是新手之前 我确实有一些 Windows 窗体应用程序的经验 我不是专家 但我认为
  • Cygwin 下使用 CMake 编译库

    我一直在尝试使用 CMake 来编译 TinyXML 作为一种迷你项目 尝试学习 CMake 作为补充 我试图将其编译成动态库并自行安装 以便它可以工作 到目前为止 我已经设法编译和安装它 但它编译成 dll 和 dll a 让它工作的唯一
  • C# 中值类型和引用类型有什么区别? [复制]

    这个问题在这里已经有答案了 我知道一些差异 值类型存储在堆栈上 而引用类型存储在托管堆上 值类型变量直接包含它们的值 而引用变量仅包含对托管堆上创建的对象位置的引用 我错过了任何其他区别吗 如果是的话 它们是什么 请阅读 堆栈是一个实现细节
  • C# 中可空类型是什么?

    当我们必须使用nullable输入 C net 任何人都可以举例说明 可空类型 何时使用可空类型 https web archive org web http broadcast oreilly com 2010 11 understand
  • 如何在 WPF RichTextBox 中跟踪 TextPointer?

    我正在尝试了解 WPF RichTextBox 中的 TextPointer 类 我希望能够跟踪它们 以便我可以将信息与文本中的区域相关联 我目前正在使用一个非常简单的示例来尝试弄清楚发生了什么 在 PreviewKeyDown 事件中 我
  • 写入和读取文本文件 - C# Windows 通用平台应用程序 Windows 10

    有用 但在显示任何内容之前 您必须在文本框中输入内容 我想那是因为我使用了 TextChanged 事件处理程序 如果我希望它在没有用户交互的情况下显示文本文件的内容 我应该使用哪个事件处理程序 因此 我想在按下按钮时将一些数据写入 C W
  • C# 用数组封送结构体

    假设我有一个类似于 public struct MyStruct public float a 我想用一些自定义数组大小实例化一个这样的结构 在本例中假设为 2 然后我将其封送到字节数组中 MyStruct s new MyStruct s
  • 基于范围的 for 循环中的未命名循环变量?

    有没有什么方法可以不在基于范围的 for 循环中 使用 循环变量 同时也避免编译器发出有关未使用它的警告 对于上下文 我正在尝试执行以下操作 我启用了 将警告视为错误 并且我不想进行像通过在某处毫无意义地提及变量来强制 使用 变量这样的黑客
  • 在 ASP.Net Core 2.0 中导出到 Excel

    我曾经使用下面的代码在 ASP NET MVC 中将数据导出到 Excel Response AppendHeader content disposition attachment filename ExportedHtml xls Res
  • 如何在 Team Foundation 上强制发表有意义的签入评论?

    我有一个开发团队有一个坏习惯 他们写道poor签入评论 当我们必须在团队基础上查看文件的历史记录时 这使得它成为一场噩梦 我已经启用了变更集评论政策 这样他们甚至可以在签到时留下评论 否则他们不会 我们就团队的工作质量进行了一些讨论 他们很
  • 初始化变量的不同方式

    在 C 中初始化变量有多种方法 int z 3 与 int 相同z 3 Is int z z 3 same as int z z 3 您可以使用 int z z 3 Or just int z 3 Or int z 3 Or int z i
  • Windows 10 中 Qt 桌面应用程序的缩放不当

    我正在为 Windows 10 编写一个简单的 Qt Widgets Gui 应用程序 我使用的是 Qt 5 6 0 beta 版本 我遇到的问题是它根本无法缩放到我的 Surfacebook 的屏幕上 这有点难以判断 因为 SO 缩放了图
  • .NET 选项将视频文件流式传输为网络摄像头图像

    我有兴趣开发一个应用程序 它允许我从 xml 构建视频列表 包含视频标题 持续时间等 并将该列表作为我的网络摄像头流播放 这意味着 如果我要访问 ustream tv 或在实时通讯软件上激活我的网络摄像头 我的视频播放列表将注册为我的活动网
  • 网络参考共享类

    我用 Java 编写了一些 SOAP Web 服务 在 JBoss 5 1 上运行 其中两个共享一个类 AddressTO Web 服务在我的 ApplycationServer 上正确部署 一切都很顺利 直到我尝试在我的 C 客户端中使用
  • EPPlus Excel 更改单元格颜色

    我正在尝试将给定单元格的颜色设置为另一个单元格的颜色 该单元格已在模板中着色 但worksheet Cells row col Style Fill BackgroundColor似乎没有get财产 是否可以做到这一点 或者我是否必须在互联
  • 如何使用 ReactiveList 以便在添加新项目时更新 UI

    我正在创建一个带有列表的 Xamarin Forms 应用程序 itemSource 是一个reactiveList 但是 向列表添加新项目不会更新 UI 这样做的正确方法是什么 列表定义 listView new ListView var
  • 不同类型的指针可以互相分配吗?

    考虑到 T1 p1 T2 p2 我们可以将 p1 分配给 p2 或反之亦然吗 如果是这样 是否可以不使用强制转换来完成 或者我们必须使用强制转换 首先 让我们考虑不进行强制转换的分配 C 2018 6 5 16 1 1 列出了简单赋值的约束

随机推荐

  • 如何从IDE转向文本编辑器?

    多年来我一直在使用各种语言的 IDE VS IntelliJ Eclipse NetBeans FlashDevelop 等 而且我总是发现它们缓慢且混乱 是的 我知道窗口可以隐藏 重新排列等等 然而最近我已经学习并有点精通 VIM 并且已
  • 有没有可能通过 Firefox 扩展创建整个屏幕的屏幕截图?

    我目前正在使用 canvas 使用 JavaScript 创建屏幕截图 并将其编码为 base64 但是 我当前的屏幕截图仅包括实际的网页 没有其他内容 没有地址栏等 我想知道是否有可能实现整个屏幕的屏幕截图 任务栏和整个浏览器窗口 等 以
  • C++ 何时发生不完整类型错误

    谁能告诉我 C 编译器何时抛出 不完整类型错误 注意 我故意让这个问题有点开放式 以便我可以自己调试我的代码 当编译器看到前向声明但没有该类型的完整定义 而该类型正在某处使用时 通常会发生这种情况 例如 class A class B A
  • withCount() 不包括已删除的行?

    我怎样才能使withCount comments 还包括所有已删除 废弃的行 例如 如果我有 5 条评论 我删除了 1 条 我仍然期望withCount comments 返回 5 但实际上返回了 4 我的完整查询如下所示 query Po
  • 正则表达式之前或之后

    我想使用正则表达式来匹配字符串tofind 我有两种可能性 第一种 before tofind 第二个是 tofind after 如何将两个示例中的单词 tofind 与一个正则表达式行匹配 I used before tofind to
  • 如何从多个地方重定向到上一页?

    我可能在这里错过了一些非常简单的东西 假设我有一个名为Option 然后 我在视图中列出这些选项 并使用 启用 禁用 按钮来触发控制器操作 然后启用或禁用该特定的操作 Option 如果列表只在一个地方 我知道只需打电话redirect t
  • 在 www.instagram.com 上使用 Python/Selenium 接受 cookie 错误 [重复]

    这个问题在这里已经有答案了 我正在尝试使用 Firefox Python Selenium 使用以下代码登录 Instagram from time import sleep from selenium import webdriver b
  • 如何与多个用户一起使用 Hive

    我有几个用户使用同一个配置单元 现在我希望每个用户在配置单元中都有一个私有元数据 example 用户调用显示表 a1 a2 a3 用户b调用显示表 b1 b2 b3 当然 当用户运行查询时 他们无法访问其他用户的表 thanks 为了让新
  • 具有 TimeSpan 数据类型的 DataView RowFilter

    我尝试使用DataView RowFilter对于数据类型为 TimeSpan 的列 如下所示 dv RowFilter Convert time System String LIKE 17 12 00 我发现搜索参数 17 or 12 对
  • PHP Heredoc解析错误[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 这会产生输
  • 查询 json / jsonb 列超级慢。我可以使用索引吗?

    我正在尝试加快对 PostgreSQL 数据库中存储的一些 json 数据的查询速度 我继承了一个查询 PostgreSQL 表的应用程序 名为data有一个名为value其中 value 是 json 类型的 blobjsonb 它大约有
  • 无需数据库连接即可从 JPA 2.1 带注释的实体类自动生成数据模式

    两年前 我正在开发一个项目 使用 弹簧 4 0 3 RELEASE jpa 2 0 休眠 4 2 7 Final java 1 6 X 该项目有一个 Maven 任务 hibernate3 maven plugin 它允许我们生成数据库模式
  • JAXWS 客户端是否区分空集合和空集合值作为返回值?

    由于 JAX WS 依赖于 JAXB 并且由于我在 JAX B 参考实现中观察到了解压 XML bean 的代码 因此我猜想并没有什么区别 并且 JAXWS 客户端总是返回一个空集合 即使 Web 服务结果是空元素 public T sta
  • Prometheus 查询在一段时间内计算唯一标签

    我需要计算给定时间范围内普罗米修斯指标的唯一标签集的数量 例如 过去 7 天内的某个时刻有多少个唯一标签集的值为 1 我调查过使用count and count over time but count仅对即时向量进行操作 这意味着我可以及时
  • Razor 条件属性不起作用

    在标签中 我想有条件地输出样式属性 例如 li li 当 styleVar 为 null 时 它不应该由 razor 编写 只是 Razor 2 中假定的标准功能 但由于某些奇怪的原因 它输出为 li li 虽然我期望 li li 这是片面
  • Sharepoint UpdateList 方法:新创建的列不可见

    我曾从事过code http social msdn microsoft com Forums en sharepointdevelopment thread c144f875 5145 4235 af80 4c3cf6c5db0a pro
  • 如何异步向MKMapView添加注解?

    我有很多注释要添加到 mkmapview 中 当我添加注释时 应用程序会冻结一小段时间 我知道主线程是唯一允许添加 UI 来查看的线程 如果这是真的 我如何使此操作不冻结应用程序 in viewdidLoad for NSManagedOb
  • 如何使用 VBA 从 Excel 用户窗体读取复选框的值

    我创建了一个包含两个复选框的用户表单 我希望能够根据每个框是否选中或未选中来执行不同的操作 然而 似乎无论我做什么 它总是会告诉我复选框的原始值 false 和 false 以下是单击 CommandButton1 所附的代码 Privat
  • Visual Studio 测试资源管理器窗口不刷新

    我在 Visual Studio 2017 中的测试资源管理器窗口全天多次被锁定 虽然它不会使 VS 崩溃 但当受到影响时 我无法运行任何测试 因为右键单击测试时没有任何选项可用 我在不同的项目中混合使用了 NUnit 和 SpecFlow
  • 为什么我们无法在.Net中创建静态类的实例

    根据 MSDN 一个类可以声明为静态 表明它只包含 静态成员 无法创建静态实例 使用 new 关键字的类 静态类会自动加载 由 NET Framework 公共语言运行时 CLR 当程序 或包含该类的命名空间已加载 经过一些研究后 我发现静