我有一個父類,並且有一些從它繼承的子類型。父類和子類的實例數
我想確保只有一個父項的實例,也適用於所有的子類型。父類型:
private static int _instanceCount = 0;
public ParentClass()
{
protected ParentClass() // constructor
{
_instanceCount++;
if (_instanceCount > 1)
throw new exception("Only one instance is allowed.");
}
}
樣品子類:
private static int _instanceCount = 0;
public ChildClass() : ParentClass
{
public ChildClass() : base() // constructor
{
_instanceCount++;
if (_instanceCount > 1)
throw new exception("Only one instance is allowed.");
}
}
的解決方案適用於兒童的類型,但是當他們調用基類的構造函數我無法分辨,如果基類的構造與其他類型或沒有所謂的該解決方案失敗。
我該如何做到這一點?
你可以通過單例類實現相同的功能 – anishMarokey 2011-05-09 18:05:16
單例在這裏不起作用。我用'MEF'來使用這些類型,這會在需求時懶惰地實例化它們。實際上,我已經在更高級別實現了'container'作爲'Singleton',並且這是一個確保我沒有多個'container'的檢查。 – Xaqron 2011-05-09 18:07:32