0

c# でリフレクションを使用して、コピーではなくオブジェクトへの参照のみを取得する必要がありますが、可能ですか?

object data = actualData.GetType().GetProperty(properties[0]).GetValue(actualData, null);

変数データは参照のみにする必要があります-内部で何かを変更した場合、actualData変数で同じ変更を実行したいのですが、実際のデータから値をコピーしているようで、変更はデータ変数にのみ残ります。なにか提案を?ありがとう!

4

1 に答える 1

0

あなたのプロパティは値型のようです。または、参照型である可能性がありますが、再利用する代わりに、結果のクラスの新しいインスタンスを作成します。

これが事実である場合、これは一般的に行うことができないと思います.プロパティはメソッドであるため、プロパティの結果値が計算され、その結果がいつ変更されるかを観察することはできません.

actualDataただし、インスタンスであるクラスを変更できる場合は、 INotifyPropertyChangedインターフェイスを実装し、コードでそのイベントをサブスクライブできPropertyChangedます。

これが不可能な場合は、...GetProperty() の結果を思い出すことができますが、データが必要になるたびに GetValue() を呼び出す必要があります。

于 2012-07-15T13:31:21.213 に答える