Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Мои интерфейс
- public interface IModel
- {
- Dictionary<string, string> toArray(MySqlDataReader reader);
- IModel New(Dictionary<string, string> data);
- }
- // Сюда я хочу передать интерфейс и класс
- // Класс заранее не известен, известно лишь какой интерфейс он использует
- // Интерфейс мне нужен для вызова методов этого класса, который не определен
- public List<T> Select<T>(IModel model, string query)
- {
- List<T> response = null;
- if (this.OpenConnection() == true)
- {
- MySqlCommand cmd = new MySqlCommand(query, this.connection);
- MySqlDataReader reader = cmd.ExecuteReader();
- List<T> results = null;
- if (reader.HasRows)
- {
- results = new List<T>();
- }
- while (reader.HasRows)
- {
- Dictionary<string, string> data = null;
- while (reader.Read())
- {
- data = model.toArray(reader);
- results.Add(model.New(data));
- }
- reader.NextResult();
- }
- return response;
- }
- else
- {
- return response;
- }
- }
- // Тут я пытаюсь передать интерфейс и параметры
- public List<Ticker> All()
- {
- string query = "SELECT * FROM tickers";
- List<Ticker> tickers = App.MySQL.Select<Ticker>(Ticker, query);
- return tickers;
- }
Add Comment
Please, Sign In to add comment