我想實現一個簡單的API,用戶可以通過屬性屬性來指定對象屬性的排序。如何檢索C#中屬性的屬性?
是這樣的:
[Sorting(SortOrder=0)]
public string Id { get; set; }
在基本ToString()方法,然後我使用反射來從物體拉的屬性。
Type currentType = this.GetType();
PropertyInfo[] propertyInfoArray = currentType.GetProperties(BindingFlags.Public);
Array.Sort(propertyInfoArray, this.comparer);
我已經使用IComparer接口做的Array.Sort寫了一個自定義類,但一旦我在那裏就是我會被卡住試圖檢索[排序]屬性。目前,我有一些看起來像這樣:
PropertyInfo xInfo = (PropertyInfo)x;
PropertyInfo yInfo = (PropertyInfo)y;
我想我可以使用xInfo.Attributes,但PropertyAttributes類並沒有做什麼,我需要做的。有沒有人有任何指導如何檢索[排序]屬性?我已經環顧了很多人,但是在編程時如何超載屬性這個詞,我不斷收到大量虛假的線索和死衚衕。
這將檢索類上的任何自定義屬性,而不是屬性上的SortingAttribute。 – Greg 2011-04-11 17:33:49
正確的是,同樣的想法雖然... propertyInfo.GetCustomAttributes(布爾); – BrandonZeider 2011-04-11 17:47:41