Пытается сделать функцию многократного использования, чтобы пропустить с тем же кодом. Проблема в том, что ключ от того, где я делаю совпадение, имеет другое имя. Иначе все равно.C# Linq dynamic item property
Это то, что у меня есть до сих пор. Проблема здесь: item.ITEMGROUP, который отличается в зависимости от того, что работает с этой функцией.
public List<T> FilterGroupIds<T>(List<T> list, string key, string groupids)
{
if (!string.IsNullOrEmpty(groupids))
{
string[] groupidList = groupids.Split(new char[] { ',' });
List<T> grouped = new List<T>();
foreach (string groupidListItem in groupidList)
{
var mylist = list
.Where(item => **item.ITEMGROUP**.Contains(groupidListItem))
.ToList();
grouped.AddRange(mylist);
}
list = grouped;
}
return list;
}
Есть ли способ использовать какую-либо динамическую проверку? Пример, когда я использую строку для использования в качестве «ключа», которая может быть ITEMGROUP или что-то еще.
var mylist = list.Where(item => item[key].Contains(groupidListItem)).ToList();
вы мо сделать ограничение на 'Т * для общего интерфейса, где ключевого У всех одно и то же имя? – HimBromBeere