Я пытаюсь реализовать простой API, где пользователь может диктовать сортировку свойств объекта с помощью атрибута свойства.
Что-то вроде:
[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, но, оказавшись там, я застрял, пытаясь получить атрибут [Sorting]. У меня сейчас есть что-то похожее на это:
PropertyInfo xInfo = (PropertyInfo)x;
PropertyInfo yInfo = (PropertyInfo)y;
Я думал, что мог бы использовать xInfo.Attributes, но класс PropertyAttributes не делает то, что мне нужно. У кого-нибудь есть какое-нибудь руководство по получению этого атрибута [Сортировка]? Я много осматривался, но из-за того, что слово «Атрибут» в программировании перегружено, я постоянно получаю множество ложных выводов и тупиков.