例如,这两种方法需要更新count
变量:是否存在强制执行操作的C#属性?
public void AddFront(T data) {
Node<T> newNode = new Node<T>(data, null, null);
if (count == 0) {
head = tail = newNode;
}
else {
newNode.Next = head;
head.Previous = newNode;
head = newNode;
}
// don't forget
count++;
}
public void AddBack(T data) {
Node<T> newNode = new Node<T>(data, null, null);
if (count == 0) {
head = tail = newNode;
}
else {
newNode.Previous = tail;
tail.Next = newNode;
tail = newNode;
}
// don't forget
count++;
}
不知是有可以强制operation
这样发生的属性?,否则会触发一个编译时间错误消息。
你要找的代码契约: http://research.microsoft.com/en-us/projects/contracts/ – 2012-07-25 22:14:09
在这里,你会想'Contract.Ensures (Contract.ValueAtReturn(out count)== Contract.OldValue(count)+1);' – 2012-07-25 22:15:36
有趣!感谢您的信息,现在就看看。 – Chan 2012-07-25 22:16:24