我对单例类有些困惑,以下是我的一些观点:
- 单例类可以有静态方法吗?如果可以,那么我们如何调用这些方法?
- 静态类和单例类之间的主要区别是什么?
我创建了以下单例类:
public class Singleton
{
private static Singleton _instance = null;
private static object chekLock = new object();
private Singleton()
{}
public static Singleton Instance
{
get
{
lock (chekLock)
{
if (_instance == null)
_instance = new Singleton();
return _instance;
}
}
}
public static void StaticAddMethod()
{
Console.WriteLine("Add Method");
}
public void AddMethod()
{
Console.WriteLine("Add Method");
}
}
在上述类结构中,我创建了两个方法,一个是静态的,另一个是非静态的。当我尝试访问静态方法时,它会在编译时出现错误。
如何使用单例类的静态方法?
Lazy<T>
对象来实现单例模式。它非常简洁明了:http://geekswithblogs.net/BlackRabbitCoder/archive/2010/05/19/c-system.lazylttgt-and-the-singleton-design-pattern.aspx - myermian