1

私はXnaでレベルエディタを開発していますが、私の質問は、「this」をパラメータとして使用してメソッドを呼び出す場合、パラメータは参照または値ですか?

元:

class A_Class
{
    private B_Class bClass;

    public void aMethod()
    {
        bClass.bMethod(this);
    }
}

class B_Class
{
    public void bMethod(A_Class aClass)
    {
        // code
    }
}
4

3 に答える 3

6

クラスは参照型であるため、これは呼び出し元のA_Classオブジェクトへの参照です。
より具体的には、参照/値に関する他の質問で述べられているように、それは値を渡し、その値は呼び出し元のA_Classオブジェクトへの参照です。

Structsは値型であるため、A_ClassではなくA_Structである場合、this値によって渡されます。

于 2012-06-12T02:08:26.603 に答える
2

'this'またはそのことに関する任意のオブジェクトを渡すと、参照に等しい値が渡されます。

于 2012-06-12T02:07:52.517 に答える
-1

デフォルトでは、パラメータはVALUEによって渡されます。paramが参照型の場合、VALUEは実際のデータへの参照です。また、paramが値型の場合、VALUEは値型が保持するデータです。コードでA_Classは、は参照型であるためthis、paramとして渡すと、実際にはA_ClassオブジェクトのVALUEが渡され、実際のデータへの参照になります。

キーワードを使用して、参照refで渡すことができます。

詳細については、C#でのパラメーターの受け渡しを参照してください。

于 2012-06-12T02:17:55.510 に答える