目前我跟蹤這樣一個基類的實例的數量:在基類跟蹤實例
private static int _instanceCount = 0;
protected BaseClass()
{
Interlocked.Increment(ref _instanceCount);
if (_instanceCount > 1)
throw new Exception("multiple instances detected.");
}
然後,我有子類與構造是這樣的:
public ChildClass(): base()
{
// Empty Constructor
}
,我得到異常當然。我可以將代碼從BaseClass
構造函數移動到ChildClass
構造函數,但它是一種冗餘(所有具有相同代碼的子代)。
有沒有辦法在BaseClass
?
獲得異常意味着我真的試圖根據上面的代碼創建多個ChildClass
的實例?
這有什麼用?是爲了做一個單身? – Nekresh 2011-01-22 10:49:57
調用者是一個`Singleton`工廠,我要確保沒有重複。 – Xaqron 2011-01-22 10:50:59