8

編集 1: 望遠鏡などの代替手段があることは知っていますが、これは純粋に教育的な質問でした。

私はこれが真実であることを知っていますが、なぜそうでなければならないのですか? 次のようなものがあるようです:

public class Foo{

    private int bar;

    public void SetBar(int baz = ThatOtherClass.GetBaz(3)){
        this.bar = baz;
    }

}

コンパイラは、メソッドを次のように変更できます。

public void SetBar(int baz){

//if baz wasn't passed:
baz = ThatOtherClass.GetBaz(3);

this.bar = baz;

}

なぜそれが機能しないのか、または機能するのか、それは単なる設計上の決定ですか?

4

1 に答える 1