我有一个属性为Capacity
的类,当Capacity = 0
时,对象必须设置为初始状态。我使用方法InitState()
执行此操作,因为我无法创建新实例并分配给this
。是否有方法使用this
或其他方式来设置初始状态?
public class Test {
private int _field1 = -1;
private int[] _array;
...
public Test() : this(0) { }
public Test(int capacity) {
_array = new int[capacity];
}
...
public int Capacity {
get { return _array.Length; }
set
{
//not working
//if(value == 0) this = new Test();
if(value == 0) InitState();
...
}
}
//sets fields in default state
private void InitState() {
_field1 = -1;
_array = new int[0];
...
}
}
答案 0 :(得分:2)
不,你不能为此分配一个值,所以你的代码是正确的