Различная реализация метода при наследовании интерфейса - C#
Формулировка задачи:
Создаю класс который наследую от интерфейса. В классе есть private массив с параметрами и допустим реализую один метод Read().
При инициализации класса я передаю путь к файлу в качестве параметра, и в зависимости от файла мне нужна различная реализация метода Read и соответственно массив ColumnNames (всего три типа файлов), как лучше поступить в данном случае? С условием if и дополнительным параметром не очень красиво.
public class CustomDataReader : IDataReader
{
private string[] ColumnNames = {"ID", "NAME","AGE"};
public bool Read()
{
тут метод реализую
}
}Решение задачи: «Различная реализация метода при наследовании интерфейса»
textual
Листинг программы
class FileTypeOneReader: IDataReader { public Read() { /* реализация один*/ }; }
class FileTypeTwoReader: IDataReader { public Read() { /* реализация два*/ }; }
class FileTypeThreeReader: IDataReader { public Read() { /* реализация три*/ }; }