目前我跟踪这样一个基类的实例的数量:在基类跟踪实例
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