我有一個實現Singleton設計模式的類。但是,每當我嘗試獲取該類的實例時,使用Activator.CreateInstance(MySingletonType)只調用私有構造函數。有沒有辦法調用除私有構造函數之外的其他方法?Singleton with Activator.CreateInstance
我的類定義如下:
public class MySingletonClass{
private static volatile MySingletonClassinstance;
private static object syncRoot = new object();
private MySingletonClass()
{
//activator.createInstance() comes here each intantiation.
}
public static MySingletonClassInstance
{
get
{
if (instance == null)
{
lock (syncRoot)
{
if (instance == null)
instance = new MySingletonClass();
}
}
return instance;
}
}
}
而且實例如下:
Type assemblyType = Type.GetType(realType + ", " + assemblyName);
IService service = Activator.CreateInstance(assemblyType, true) as IService;
爲什麼你想在這裏使用激活?它看起來像你只是想使用靜態屬性。 – vcsjones
我正在使用獨特的服務加載程序以動態方式加載一組服務。 – guanabara