私は次のことを経験しています:
Foo myFoo = new Foo(); // Init a Foo, right?
myFoo.bar = 5; // property assigned
Debug.Log(myFoo.bar); // Properly traces the value 5 or whatever to the console
Debug.Log(myFoo); // Traces "null" to the console..... WTF?!?!?!?
これは、Unity 3.5 と組み合わせて MonoDevelop で C# を使用して発生しています。この場合、Foo は Object をサブクラス化しており、私の知る限り、動的ではありません。これは非常に奇妙な動作であり、ActionScript 3 または Objective-C で見たことがないため、ここで見逃している C# のニュアンスはありますか。ランタイムが、NullException や何らかのエラーをスローすることなく、「null」を同時にトレースする変数のプロパティにアクセス/割り当てできるのは奇妙です。なぜこれが起こっているのかについてのアイデアは、大きな助けになるでしょう。前もって感謝します。