これは何を呼び出すべきか全く分かりませんので、タイトルを変更したり、新しいものを提案したりしてください。 私は以下のコードを持っています(実演ではあまり意味がないことに注意してください)。フィールドとプロパティを連鎖させるときの実行順序
static float num = 30f;
static float Num
{
get { return num; }
set { num = value > 20 ? 10f : value; }
}
void Foo()
{
num = Num = 25;
print(num + " " + Num);
}
void Foo2()
{
Num = num = 25;
print(num + " " + Num);
}
なぜFoo()は「25 25」を印刷し、Foo2(10)は「10 10」を印刷するのですか?
IはFOO1を読み出す方法である:(10 NUMを設定する)25に
セット民Iとしてfoo2はを読み取る
(10 NUMを返す)民に、次に設定NUM: 25へ
セットnumが、今NUMにテンキーを設定し(それは前に30だった)
(10 NUMを設定します)彼らはなぜ異なっていますか?
「a = b = 5;」というフィールドにこれを使用します。 「b = a = 5;どちらも5に設定されます。なぜ、これをプロパティに適用すると違うのですか?私は明白な何かを欠いていますかあなたのセッターで