如何以編程方式獲取對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對象表示與任何實例無關的元數據。每個對象字段的實例都有一個FieldInfo。
對於所有元數據對象(例如Type,FieldInfo,MethodInfo等等)而言,通常都是如此......可以使用元數據對象來操作對象的實例。例如FieldInfo可用於通過GetValue方法獲取實例值。
FieldInfo fi = GetFieldInfo();
object o = GetTheObject();
object value = fi.GetValue(o);
但是元數據對象永遠不會與類型的實例關聯。
試試這個:
myFieldInfo.DeclaringType
小煩惱:C#是一種編程語言。它沒有FieldInfo。 .NET的確如此。你的主題說「C#FieldInfo」。 – 2009-07-13 15:54:02
這個問題的文本可以做澄清,它看起來好像你正在尋找一個實例對象,但你真正想要的是一個類型。 – AnthonyWJones 2009-07-13 15:56:58
@John:我建議你在這裏回顧一下其他成千上萬個C#的問題。考慮你是否也想評論所有這些。因爲它永遠不會消失,所以與這種模糊感相和可能會更容易。 – AnthonyWJones 2009-07-13 16:00:00