У меня есть два общих списка с несколькими свойствами для сравнения, но я хочу, чтобы ключевые идентификаторы были динамическими с помощью List<string>
.Переключить два общих списка по динамическим свойствам
Так позволяет сказать, что у нас есть класс:
class A
{
string Name { get; set; }
string Color1 { get; set; }
string Color2 { get; set; }
string Length { get; set; }
}
Теперь пользователь может выбрать из пользовательского интерфейса, свойства двух списков этих объектов должны перекрываться так, что выбрана правильная пара. Это сохраняется в List<string>
. Например, если строка списка содержит «Имя» и «Цвет1», будут возвращены только те объекты, где «Имя» и «Цвет1» перекрываются.
Я пытался написать функцию, но, к сожалению, я не уверен, какую коллекцию я должен использовать для составления общих списков и как применять имена этих свойств на них? Если имя «идентификаторами» всегда были одинаковыми, это не было бы проблемой, с Linq/Lambda;)
Заранее спасибо
Вы должны прочитать на Reflection. –
Спасибо за ваш ответ, у меня уже есть некоторые полезные функции в моих проектах с отражением, но я не совсем уверен, как использовать его в этом контексте. – kassi
Я думаю, что нашел ответ здесь [Как создать динамическую реализацию равенства, в которой вы можете передать имена свойств для сравнения?] (Http://stackoverflow.com/questions/17015566/how-do-you-create -a-dynamic-equal-implementation-where-you-can-pass-in-the-pr) – kassi