У меня возникли проблемы с плохо именованных свойств:C# фильтрации имен динамических свойств в лямбда
public class Word
{
public string Alt01 { get;set; }
public string Alt02 { get;set; }
public string Alt03 { get;set; }
public string Alt04 { get;set; }
public string Alt05 { get;set; }
}
Это, вероятно, было одно свойство типа List<string>
. Но кто-то другой придумал эту идею, и я не могу изменить структуру на данный момент.
У меня есть метод, который возвращает много объектов Word
. То, что я хотел бы сделать, - отфильтровать каждый экземпляр Word
, который имеет соответствующую строку в одном или нескольких свойствах AltXX
.
Это то, что я до сих пор:
foreach(var word in resultList) //<-- List<Word>
{
var alt01 = word.GetType().GetProperty("alt01").GetValue(word, null);
}
Это будет работать, как мой фильтр, если я продлить его немного. Но мой вопрос: разрешимо ли это с помощью лямбда-выражений?
он ограничивается Alt05 или выходит даже за что? – publicgk
@publicgk До 15 – Johan
количество записей Alt ## может варьироваться в зависимости от слова? И это свойства? Как, черт возьми, вы получили список разнородных объектов? – Nevyn