一、基類源碼
SingleBase.cs
/// <summary>
/// 單例模式
/// </summary>
/// <typeparam name="T"></typeparam>
public class SingleBase<T>
{
static T instance = default(T);
public static T GetInstance()
{
if (instance == null)
{
instance = (T)System.Reflection.Assembly.GetAssembly(typeof(T)).CreateInstance(typeof(T).ToString());
}
return instance;
}
protected BLLBase()
{
}
}
二、該類敘述
該基類通過GetInstance()方法實例化T類型子類,只能實例化一次;但是,不能夠強制子類必須使用該方法實例化,子類仍然可以通過構造方法實例化新對象;
