Я не уверен, что это действительно вопрос "полиморфизма", но в любом случае ...
Итак, у меня есть абстрактный класс и 2 других класса, которые наследуют его.
У некоторого кода из базового класса есть переменная, которая будет отличаться между классами, расширяющими базовый класс.
Какой лучший способ сделать это? Переопределить метод get? Немного измените архитектуру, чтобы вызвать функцию из базового класса в расширенный класс, который будет передавать значение ...
Вот пример (он не скомпилируется, просто небольшой пример того, как я это сделал):
public abstract class BaseAbstract class {
... some code ....
// Here "listName" would change depending on the extending class
protected List<Items> getAllItems(String listName) {
Web.getList(listName);
... some code ...
}
protected abstract List<Items> getAllItems();
}
public class NewClass : BaseAbstract {
protected override void getAllItems() {
return getAllItems("ListNameOfNewClass");
}
}
Вот как я это сделал, но это не очень понятно и легко поддерживать IMO.
Любая идея или комментарий приветствуются!