1

独自のクラスを暗黙的に参照するクラスを作成しないようにするにはどうすればよいですか?

例:

class foo
{
    public foo(int y)
    {
        x = y;
    }
    public int x;
}
class program
{
    static void Main()
    {
        foo myFoo1 = new foo(10);
        foo myFoo2 = myFoo1; //How do i prevent this?
        Console.Read();
    }
}
4

3 に答える 3

4

これを防ぐことはできません。myFoo1はタイプなので、ピリオドfooに割り当てることができます。myFoo2

いずれにせよ、これを防ぐことで何が得られると信じているかは明らかではありません。fooは参照型 (a ) であるため、割り当ての結果、以前は作成したオブジェクトclassを参照するための名前が 1 つしかありませんでしたが、現在は 2 つです。foo名前は開発者の便宜のために付けられているだけなので、プログラムの動作に違いはありません。代入は別のオブジェクトを作成しません。

foo値型 (a struct) の場合、代入は値のコピーを作成することに注意してください。互いに完全に独立しますmyFoo1myFoo2

于 2013-05-09T22:54:14.833 に答える