У меня есть класс с несколькими свойствами, у меня есть настраиваемая настройка атрибута, одна для TextField и одна для ValueField, я использую IEnumerable, поэтому не могу просто выбрать поля, которые я хочу, мне нужно в принципе:Оператор LINQ, выберите поле с определенным атрибутом
collectionItems.ToDictionary(o => o.FieldWithAttribute<TextField>, o => o.FieldWithAttribute<ValueField>);
Надеюсь, вы получите то, что я пытаюсь сделать, это не нужно использовать дженерики, как указано выше, мне просто нужно сделать что-то подобное, чтобы получить отмеченные поля от большого объекта, поэтому у меня может быть симпатичный маленький словарь с парами ключевых значений.
Пример класса, который является TEntity:
public class Product
{
[TextField]
public string ProductTitle { get; set; }
[ValueField]
public int StyleID { get; set; }
//Other fields...
}
Любые идеи, как я могу добиться этого? Возможно, используя рефлексию как-то в заявлении LINQ?
Я думаю, что вы можете использовать какой-то интерфейс или рассмотреть возможность использования словаря в классе для текста и полей значений. Если у вас есть только один ключ и одно значение для каждого продукта, есть ли какая-то причина, которая не может быть интерфейсом? – Magus