把构造函数声明称隐式。通过静态方法Instance来访问类的实例。
代码如下:
代码如下:
class
Program
{
static void Main(string[] args)
{
Singleton single = Singleton.Instance();
}
}
public class Singleton
{
private bool created = false;
private Singleton()
{
if (created)
{
throw new SingletonException("Singleton class can only be initialized once.");
}
else
{
created = true;
}
}
public static Singleton Instance()
{
return new Singleton();
}
}
public class SingletonException : Exception
{
public SingletonException(string s)
: base(s)
{
}
}
{
static void Main(string[] args)
{
Singleton single = Singleton.Instance();
}
}
public class Singleton
{
private bool created = false;
private Singleton()
{
if (created)
{
throw new SingletonException("Singleton class can only be initialized once.");
}
else
{
created = true;
}
}
public static Singleton Instance()
{
return new Singleton();
}
}
public class SingletonException : Exception
{
public SingletonException(string s)
: base(s)
{
}
}