我希望我的对象不变方法抛出一个特定的异常。是否有意义?在 C# 中可能吗?
例如,我有以下代码,包括具有不变方法的类 A 和异常类 E。目前 E 类不参与 A ...
class A {
int x = 0, y = 1;
[ContractInvariantMethod]
private void YisGreaterThanX() {
Contract.Invariant(x < y);
}
}
class E : Exception {
}
我需要的是以下内容。像 Contract.Requires 一样,拥有 Contract.Invariant (或者可能是一个属性构造函数,它接受异常派生类)会很有用。
class A {
int x = 0, y = 1;
[ContractInvariantMethod]
private void YisGreaterThanX() {
Contract.Invariant<E>(x < y);
}
}
class E : Exception {
}
是好意吗?可能是我的逻辑错了?