進一步my previous question,我現在有一個新的問題,我希望得到一個屬性,它是一個數組:如何使用反射訪問數組項屬性?
string propertyName="DisplayLayout.Bands[0].Columns";
PropertyInfo pi = control.GetType().GetProperty(propertyName)
但實際上,它返回null。
最好的問候,
弗洛裏安 編輯:對不起,缺乏精確度:$ I訪問樂隊財產感謝我precent問題的答案。我真正的問題是訪問屬於'Band'類型屬性的'Columns'屬性。我希望它更清楚。
EDIT2:這裏一個例子:
PropertyInfo t = control.GetType().GetProperty(entry.Value[i].Nom.Split(new char[] { '.' })[0]);
PropertyInfo property = control.GetType().GetProperty(entry.Value[i].Nom.Split(new char[] { '.' })[0]);
PropertyInfo nestedProperty = property.PropertyType.GetProperty("Bands");
在nestedProperty我有帶(Infragistics.UltraWinGrid.BandsCollection樂隊),但我不管理訪問帶[0]和 '列' 財產
謝謝。然而,行nestedProperty.PropertyType.GetProperty(defaultMember.MemberName); 返回'null'。在'quickwatch'編輯器中,'value'列表示'nestedProperty.PropertyType.GetProperty(defaultMember.MemberName)'拋出了一個'System.Reflection.AmbiguousMatchException'類型的異常。System.Reflection.PropertyInfo {System.Reflection.AmbiguousMatchException} ' – Florian 2010-06-27 20:40:36
@Florian:使用GetProperty的重載,它接受重載解析的參數類型列表:nestedProperty.PropertyType.GetProperty(defaultMember.MemberName,new Type [] {typeof(int)}) – Quartermeister 2010-06-27 21:20:32
它工作得很好。謝謝 !!!只是最後一個問題。在你的例子中,在最後一行: var value = nestedIndexer.GetValue(bands,new object [] {0}); 什麼是參考帶? – Florian 2010-06-28 08:36:53