Tag: singleton

如何在C#中实现单例?

如何在C#中实现单例模式? 我想把我的常量和一些基本function放在其中,因为我在项目的每个地方使用它们。 我希望将它们设置为“全局”,而不需要为我创建的每个对象手动绑定它们。

Singleton仔细检查并发问题

fallowing子句来自jetbrains.net在阅读了这篇以及网上的其他文章之后,我仍然不明白在第一个线程进入锁之后如何返回null。 有人确实理解它可以帮助我并以更人性化的方式解释它吗? “考虑以下代码: public class Foo { private static Foo instance; private static readonly object padlock = new object(); public static Foo Get() { if (instance == null) { lock (padlock) { if (instance == null) { instance = new Foo(); } } } return instance; } }; 给定上述代码,初始化Foo实例的写入可能会延迟,直到写入实例值,从而产生实例返回处于单元化状态的对象的可能性。 为了避免这种情况,必须使实例值变为易失性。 “

.NET的一个明显的单例实现?

我在考虑懒惰单例初始化的经典问题 – 整个问题的低效率: if (instance == null) { instance = new Foo(); } return instance; 任何知道Singleton是什么的人都熟悉这个问题(你只需要if一次)。 这是微不足道但令人恼火的。 所以,我想到了一个替代解决方案,至少对于.NET来说(尽管它应该可以在任何具有等效函数指针的地方工作: public class Foo { private delegate Foo FooReturner(); private static Foo innerFoo; private static FooReturner fooReturnHandler = new FooReturner(InitialFooReturner); public static Foo Instance { get { return fooReturnHandler(); } } private static Foo InitialFooReturner() { innerFoo = […]

通过singleton类获取数据库连接

我创建了一个单例类,这个类返回一个数据库连接。 所以我的问题是这个连接是否也满足单身标准? 如果不是,我怎么能让它成为单身人士。 这是代码。 public sealed class SingletonDB { static readonly SingletonDB instance = new SingletonDB(); static SqlConnection con =new SqlConnection(ConfigurationManager.ConnectionStrings[“mydb”].ConnectionString); // Explicit static constructor to tell C# compiler // not to mark type as beforefieldinit static SingletonDB() { } SingletonDB() { } public static SingletonDB Instance { get { return instance; } } public […]

如何在c#中避免多个windows窗体实例

如何在c#中避免多个windows窗体实例? 我只想运行一个表单实例。 因为有可能从我的应用程序的许多页面打开相同的表单。

C#的单例模式

我需要存储一堆需要全局访问的变量,我想知道单例模式是否适用。 从我看过的例子来看,单例模式只是一个无法inheritance的静态类。 但我见过的例子对我的需求来说过于复杂。 什么是最简单的单身人士课程? 难道我不能只用一些变量制作一个静态的密封类吗?