C# 反射 - 获取对象的属性
本文关键字:属性 取对象 获取 反射 | 更新日期: 2023-09-27 17:56:43
>我正在尝试在类中设置对象的属性,但我无法获取该属性。
FieldInfo dControl = window.GetType().GetField("dControl", BindingFlags.NonPublic | BindingFlags.Instance);
if (dControl == null) { Debug.Log ("dControl is null"); return;}
PropertyInfo inPreviewMode = dControl.GetType().GetProperty("InPreviewMode", BindingFlags.Public | BindingFlags.Instance);
if (inPreviewMode == null) { Debug.Log ("dControl.InPreviewMode is null"); return;}
inPreviewMode.SetValue(dControl, false, null);
但是,inPreviewMode 返回 null。
这是我尝试访问的属性:
public class DControl : TimeArea
{
public bool InPreviewMode
{
get
{
return dState.IsInPreviewMode;
}
...
}
...
}
如果这很重要,该类将存储为 dll。
感谢帮助。
dControl.GetType()
返回System.Reflection.FieldInfo
的类型,因为这就是dControl
。
你想要GetFieldType()
.
同样,您需要一个实例传递给 SetValue()
。