利用泛型和反射实现的一个Singleton
定义Singleton对象
public static class Singleton<T> where T : class
{
public static readonly T Instance = typeof(T).InvokeMember
(
typeof(T).Name,
BindingFlags.CreateInstance | BindingFlags.Instance | BindingFlags.NonPublic,
null,
null,
null
) as T;
static Singleton()
{
}
}
使用方法:
public class SingleInstanceClass
{
private SingleInstanceClass()
{
}
public void DoInstanceMethod()
{
Console.WriteLine("DoInstanceMethod");
}
public static void DoStaticMethod()
{
Console.WriteLine("DoStaticMethod");
}
public static SingleInstanceClass Instance
{
get { return Singleton<SingleInstanceClass>.Instance; }
}
}



浙公网安备 33010602011771号