Я пытаюсь найти решение своей проблемы.
У меня есть функции, которые объявляют строку cmdSQLite и открывают соединения. Особенно для некоторых случаев использования, когда мне приходится манипулировать данными во время их чтения (например, при использовании полей со списком, заполнении древовидных представлений или необходимости конвертировать только часть данных).
Я хотел бы использовать функцию чтения следующим образом: она должна проверить DbType, затем открыть устройство чтения + прочитать данные из устройства чтения. В конце соединение должно быть закрыто.
Закомментированная часть посередине (отмеченная /* */) должна быть кодом, который каждый раз разный, поскольку этот код зависит, например, от по строке SQL, введенной ранее.
Код: Выделить всё
public object getData()
{
switch(DbConn.DbType)
{
case 1:
using (SQLiteDataReader reader = cmdSQLite.ExecuteReader())
{
while (reader.Read())
{
/* //Inject custom code and RETURN DATA How?
cb_AG.Items.Add(reader.GetValue(2).ToString());
if (dtProj.Rows[0][3].ToString() == reader.GetValue(0).ToString())
{
cb_AG.SelectedIndex = i;
}
i++; */
}
}
connSQLite.Close();
return object; //Object has to be declared in given Textblock
case 2: //same, with MySQL
[...]
default:
return null;
}
}
Или есть что-то получше? Я также думал об интерфейсах и делегатах, но не уверен, что они действительно впишутся в мой класс.
Я застрял там, так как не знаю, какие ' базовую модель, которую мне следует использовать, которая также не ухудшит ремонтопригодность кода.
Подробнее здесь: https://stackoverflow.com/questions/783 ... idual-code
Мобильная версия