一、基類源碼
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類型子類,只能實例化一次;但是,不能夠強制子類必須使用該方法實例化,子類仍然可以通過構造方法實例化新對象;