FieldInfoオブジェクトがフィールドであるオブジェクトへの参照をプログラムで取得するにはどうすればよいですか?.NET FieldInfo - それが*フィールドであるオブジェクトを取得する
例えば、私はこのような何かが欲しい:
myFieldInfo.GetOwner(); // returns the object of which myFieldObject is a field
FieldInfoオブジェクトがフィールドであるオブジェクトへの参照をプログラムで取得するにはどうすればよいですか?.NET FieldInfo - それが*フィールドであるオブジェクトを取得する
例えば、私はこのような何かが欲しい:
myFieldInfo.GetOwner(); // returns the object of which myFieldObject is a field
は、残念ながら、あなたは関係が逆のように動作することはできませんので。 FieldInfoオブジェクトは、どのインスタンスからも独立したメタデータを表します。オブジェクトのフィールドの各インスタンスごとに1つのFieldInfoがあります。
これは一般的に、Type、FieldInfo、MethodInfoなどのすべてのメタデータオブジェクトに当てはまります。メタデータオブジェクトを使用してオブジェクトのインスタンスを操作することは可能です。たとえば、FieldInfoを使用して、GetValueメソッドを介してインスタンス値を取得できます。
FieldInfo fi = GetFieldInfo();
object o = GetTheObject();
object value = fi.GetValue(o);
ただし、メタデータオブジェクトは、そのタイプのインスタンスに関連付けられることはありません。
ありがとう、Jared。 – JaysonFix
マイナーな悩み:C#はプログラミング言語です。 FieldInfoはありません。 .NETはそうです。あなたの主題は "C#FieldInfo"と言っています。 –
この質問のテキストは、明確化とともに行うことができます。インスタンスオブジェクトを取得するように見えますが、本当に必要なのはタイプです。 – AnthonyWJones
@ John:他の何千ものC#質問をここでは根本的に同じようにレビューすることをお勧めします。あなたもそれらすべてをコメントしたいかどうかを検討してください。それが決して遠くに行くことがないので、この笑いと和解するほうが簡単かもしれません。 – AnthonyWJones