C#では、参照が参照に移行することを許可しないようにする方法があるかどうか疑問に思っていました。私が何を意味するかを説明するためのFAKE c# コードを次に示します。
class foo {}
class bar
{
public locked foo Foo; //of course locked doesn't actually exist
}
void main()
{
foo myFoo = new foo();
bar myBar == new bar();
myBar.Foo = myFoo;
myFoo = null
if (myBar.Foo == null)
{
println("foo = null");
}
}
//will print "foo = null"
明らかにこれはコンパイルされず、foo を削除すると、myBar.Foo に移行するだけです。