Я использую компонент «SQLite.NET» в своем Xamarin-проекте. У меня есть несколько «моделей/классов», таких как «Документ», «Проект». Каждая модель имеет свою таблицу в SQLite.
Чтобы получить данные из таблицы, я использую следующую технику:
List<Document> documents = new SQLiteConnection("..DB-path..").Table<Document>.ToList();
Он отлично работает, но для каждой таблицы мне нужно сделать один и тот же код и изменить только тип модели в приведенном выше коде.
Теперь я хотел бы написать общий метод, где я могу сделать:
List<T> data = new SQLiteConnection("..DB-path..").Table<T>.ToList();
Но, к сожалению, я получаю следующую ошибку:
«T» должен быть неабстрактным типом с общедоступным конструктором без параметров, чтобы использовать его в качестве параметра «T» в универсальном типе или методе «SQLiteConnection.Table()».
Кто-нибудь знает способ создать общий метод для проблемы выше?
Заранее спасибо!
T
? В качестве примечания: вам не нужно создавать новыйSQLiteConnection
каждый раз, когда вы обращаетесь к базе данных, на самом деле считается лучшей практикой использовать одноэлементное соединение. - person dylansturg   schedule 29.03.2016