好日子所有訪問一個看似公共財產,通過反射
我很努力,以確定哪些是有企圖的一類訪問公共財產的問題。
我的需求非常基礎。我有一個在我的例程中正確實例化的公共類,我知道,由於反射器,這個類有一個屬性,我需要引用。
問題是,該場所被定義爲這樣的:
public Vector3 root {
[MethodImpl(MethodImplOptions.InternalCall), WrapperlessIcall] get;
[MethodImpl(MethodImplOptions.InternalCall), WrapperlessIcall] set;
}
我面對的問題是,我所有的企圖獲取屬性只會失敗。 我實例化的類型,並與結合標誌
Type vtype = myobj.getType()
PropertyInfo[] vproperties;
vproperties = vtype.GetProperties();//(BindingFlags.Default | BindingFlags.CreateInstance | BindingFlags.Instance | BindingFlags.NonPublic);
for (int vpropertycounter =0 ; vpropertycounter < vproperties.Length ; vpropertycounter++) {
Console.write(varbodyproperties[varpropertycounter].Name); <= 'root' never appears in this list
}
我的懷疑和疑問圍繞着一個事實,即root屬性可能不是「分享」,因爲它的getter和setter是「wrapperless的所有可能的組合嘗試'和'內部'。 可悲的是,我不知道這是否可以克服。
我想知道這個屬性是否可以通過任何方式訪問,並可能如何做到這一點。
歡迎任何反饋。
在此先感謝。
注意:直接尋址屬性,如在「myobj.root」中爲未知屬性生成編譯器錯誤。
感謝您的建議,我意識到我實際上可以調用setter和getter,這使我明白我正在使用錯誤的類型進行反射迭代! – roamcel