我正在尝试在类中设置对象的属性,但我无法获取该属性。
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。
非常感谢帮助。
答案 0 :(得分:2)
MapView
会返回dControl.GetType()
的类型,因为System.Reflection.FieldInfo
就是这样。
您想要dControl
。
同样,您需要一个实例传递给GetFieldType()
。