单例模式 - 默认属性

2023-12-14

我一直在研究设置类中使用的单例模式。以下是我的项目 AccessTest 的 Settings.Designer.cs 的相关代码:

internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
{        
    private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));

    public static Settings Default
    {
        get
        {
            return defaultInstance;
        }
    }

    public string applicationSetting1
    {
        get
        {
            return ((string)(this["applicationSetting1"]));
        }
    }
}

我不清楚的是为什么属性“applicationSetting1”是通过另一个属性“Default”访问的,如下所示:

var value = AccessTest.Properties.Settings.Default.applicationSetting1;

我正在运行 VS2013 C# 和 4.5。


因为defaultInstance是静态的,而applicationSetting1不是。这有效地使得defaultInstance your manager类实例的。当您在类上调用静态方法时,它不需要实例化,因此您知道您只能维护该类的单个实例。

回复您的评论:

Default不是parentapplicationSetting1 的;Default只是一个返回 applicationSetting1 实例的全局函数。在单例模式的情况下,这总是恰好是same实例。

Manager这是我的术语。为了更好地描述什么是单例模式,请将其视为具有单个访问器的全局变量(我将其描述为管理器,仅仅是因为它manages变量的生命周期)。

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

单例模式 - 默认属性 的相关文章

随机推荐

  • scrapy爬行[蜘蛛名称]错误

    大家好 我正在使用 scrapy 框架和 python 构建一个网络抓取项目 在我的项目的蜘蛛文件夹中 我有两个名为蜘蛛1和蜘蛛2的蜘蛛 蜘蛛1 py class spider BaseSpider name spider1 蜘蛛2 py
  • JSP 不向 JQuery AJAX 返回数据

    这是我的功能 我正在尝试从下面的 JSP 页面获取数据 两个文件位于同一位置 我的错误是什么 sample js 包含在某些文件中 function getUnits ajax url js addunits jsp success fun
  • 如何从 Python 字典中删除键?

    我想从字典中删除一个键 如果存在 我目前使用这段代码 if key in my dict del my dict key 如果没有if语句 代码将引发KeyError如果关键是not展示 我怎样才能更简单地处理这个问题 See Delete
  • 无法访问 Newtonsoft.Json.Linq.JProperty 上的子值 - 使用 LinQ 检查 JObject 时发生错误

    我有一个包含 Json 数据的 JObject 对象 我需要收集所有 KeyValuePairs state true 在读取值之前 我想确保 JObject 至少有一个 KeyValuePairs 且 JToken Value 有 sta
  • 带有计数器或索引值的 Postgres JSONB_ARRAY_ELEMENTS

    假设我有这个order表 其中widgets列是一个jsonb array order no widgets 50 a b c 51 d e f select order no jsonb array elements text widge
  • 导入函数并使用“this”获取道具:“TypeError:无法读取未定义的属性‘renderElapsedString’”

    我是 React 新手 正在从 FullStackReact 书中创建一个时间记录应用程序 但使用 ES6 扩展 模块而不是 Create Class 话虽如此 我收到了这个错误 而且我不知道发生了什么 类型错误 无法读取未定义的属性 re
  • 在反应式表单上使用正则表达式进行 Angular 7 电子邮件验证

    在 Angular 上 我尝试使用以下正则表达式验证电子邮件 lt gt s lt gt s 0 9 1 3 0 9 1 3 0 9 1 3 0 9 1 3 a zA Z 0 9 a zA Z 2 就像下面这样 createGroupFor
  • 在 C++ 中处理许多进程的中央数据缓冲区

    我遇到了以下问题 无法决定如何继续 我有一堂课 Reader 每1 T秒获取一块数据 实际上数据来自视频帧 每秒30帧 这些块将被传递给多个对象 Detectors处理块并输出决策 然而 每个检测器在做出决定之前需要读取的块数量各不相同 例
  • 按组进行累加[重复]

    这个问题在这里已经有答案了 假设数据看起来像 group1 group2 num A sg 1 A sh 2 A sg 4 B at 3 B al 7 a lt cumsum data num 1 3 7 10 17 我需要一些团体积累的东
  • Android - 构建项目时出现多个错误

    我在构建项目时遇到这些错误 无法解决 firebase core 无法解决 multidex 无法解决 播放服务广告 无法解决 play services auth 无法解决 firebase auth license 无法解决 常见 请检
  • 黑莓录音示例代码

    有谁知道有一个好的存储库可以获取 BlackBerry 的示例代码吗 具体来说 可以帮助我学习录制音频的机制的示例 甚至可能对其进行采样并对其进行一些动态信号处理 我想读取传入的音频 如果需要的话可以逐个采样 然后对其进行处理以产生所需的结
  • 为什么 JavaScript fetch API 的响应对象是一个承诺?

    当使用 JavaScript fetch API 从服务器请求时 您必须执行类似的操作 fetch API then response gt response json catch err gt console log err Here r
  • 按下 UI 按钮时持续运行代码

    我正在做一个平台游戏在 Unity 中 球的移动方式为三个按钮 向右移 向左移动 jump 我已经拥有现在可以使用的所有功能 但要移动角色我需要继续向按钮发送垃圾邮件 而不是像我想要的那样按住它 我尝试了在教程中找到的几种方法 但是由于我仍
  • 从 testcafe 中打开的第 N 个模式中选择“确定”按钮

    我在测试中打开两个模态 我希望能够单击第二个模态中的 确定 按钮 下面 html 中的第二个选定元素 我当前的代码是 import waitForReact from testcafe react selectors import Sele
  • shinyjs - setBookmarkExclude 用于延迟 ID

    我试图从 Shiny 的反应式书签上下文中排除 ShinyJS 延迟 我看到 URL 中的延迟 ID 是自动生成的 并且始终不同 delay ad190e10123bd97f960fed7a8a9e6fde 3000 我试图通过正则表达式排
  • JoyGetPosEx 在 C# 中返回 165

    我尝试用 C 读取 JoyStick 中的数据 只要我使用 jeyGetPos 就可以正常工作 但我需要使用joyGetPosEx 因为它提供了更多数据 例如我需要的操纵杆的旋转 class JoyStick JOYINFO pji JOY
  • php:从 html 获取纯文本 - simplehtmldom 或 php strip_tags?

    我正在考虑从 html 获取纯文本 我应该选择哪一个 php条带标签 or 简单的htmldom明文提取 simplehtmldom 的优点之一是支持无效 html 这本身就足够了吗 strip tags就足够了
  • 合并哈希数组

    我有两个数组 每个数组都包含带有属性哈希的数组 Array1 gt attribute 1 A attribute 2 B attribute 1 A attribute 4 B Array2 gt attribute 3 C attrib
  • 同步安装后节点找不到某些模块

    我有一个在启动时同步安装非内置模块的脚本 如下所示 const cp require child process function requireOrInstall module try require resolve module cat
  • 单例模式 - 默认属性

    我一直在研究设置类中使用的单例模式 以下是我的项目 AccessTest 的 Settings Designer cs 的相关代码 internal sealed partial class Settings global System C