2

基本的に、誰かがオブジェクトの特定のプロパティを同じオブジェクトの別のプロパティよりも大きくした場合、コンパイルを許可したくありません。それをしてもいいですか?のようなもの:

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);
    }
}
4

1 に答える 1

3

チェックしようとしているのはランタイム操作であり、コンパイラでは実行できません。

必要なことに最も近いsizeofのは、プロパティのサイズをバイト単位でチェックする C# 演算子を使用することです。

于 2013-03-13T01:24:59.833 に答える