- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在研究 Settings 类中使用的单例模式。这是我的项目 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”是通过另一个属性“默认”访问的,如下所示:
var value = AccessTest.Properties.Settings.Default.applicationSetting1;
我正在运行 VS2013 C# 和 4.5。
最佳答案
因为 defaultInstance
是静态的,而 applicationSetting1
不是。这有效地使 defaultInstance
成为类实例的经理。当您调用一个类的静态方法时,它不需要实例化,因此您知道您只能维护该类的单个实例。
回复您的评论:
Default
不是 applicationSetting1 的 parent; Default
只是一个返回 applicationSetting1 实例的全局函数。在单例模式的情况下,它总是恰好是相同实例。
经理 是我的任期。为了更好地描述单例模式是什么,请将其视为具有单个访问器的全局变量(我将其描述为管理器,只是因为它管理变量的生命周期)。
关于c# - 单例模式 - 默认属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24624304/
我最近购买了《C 编程语言》并尝试了 Ex 1-8这是代码 #include #include #include /* * */ int main() { int nl,nt,nb;
早上好!我有一个变量“var”,可能为 0。我检查该变量是否为空,如果不是,我将该变量保存在 php session 中,然后调用另一个页面。在这个新页面中,我检查我创建的 session 是否为空,
我正在努力完成 Learn Python the Hard Way ex.25,但我无法理解某些事情。这是脚本: def break_words(stuff): """this functio
我是一名优秀的程序员,十分优秀!