У меня есть функция, которая просматривает список объектов (Жанр, Национальность и т. Д.). Он должен вернуть добавление определенного свойства (различно для каждого объекта). Я не могу изменить код этих перечисленных объектов (в DDL).C# code-duplication: property List treatment
Вот некоторые примеры того, что я должен сделать сейчас:
private String formatListString(List<Genre> list)
{
for (...)
{
str += list[i].Value;
...
}
return str;
}
private String formatListString(List<Nationality> list)
{
for (...)
{
str += list[i].Code;
...
}
return str;
}
Как я могу сделать это в одной функции? Возможно, добавьте параметр в функцию, чтобы указать свойство, которое нужно использовать?
Спасибо.
Возможно, вы можете передать делегат-селектор. Или перейдите в уже отфильтрованный список. В зависимости от того, что у вас нет, могут быть стандартные функции, такие как 'string.Concat' или' string.Join'. – CodesInChaos
'String.Concat' может быть полезным расследованием. Но это зависит от того, какая дополнительная логика содержит ваш цикл. – knittl