如果对象的属性“较大”,则禁止编译;而不是c#中的另一个

本文关键字:另一个 编译 属性 对象 较大 如果 禁止 | 更新日期: 2023-09-27 18:03:31

如果有人使一个对象的特定属性大于同一对象的另一个属性,我基本上不希望允许编译。我可以这么做吗?有点像:

class Class1 {
    public int property1 { set; get; }
    public int property2 { set; get; }
    public void method (Class1 obj) {
        if (obj.property1 < obj.property2) {
            //won't compile!
        }
    }
}
class Class2 {
    static void Main() {
        Class1 obj = new Class1();
        obj.property1 = 10;
        obj.property2 = 11;
        obj.method(obj);
    }
}

如果对象的属性“较大”,则禁止编译;而不是c#中的另一个

您要检查的是运行时操作,该操作不能由编译器完成。

最接近你需要做的是使用c# sizeof运算符来检查属性的大小(以字节为单位)