Я не уверен, что это возможно. Я пытаюсь немного узнать о лямбда-выражениях из-за программы, которую я пишу с моим приятелем. Поэтому у него есть класс базы данных, который говорит с сервером MS SQL. Я хотел провести некоторое тестирование на классах, и поэтому сделал простую компактную базу данных, которая в моем TextFixtureSetup я заполняю таблицы (2 таблицы прямо сейчас), а затем в режиме разрыва я удаляю все данные. его класс базы данных использует что-то вроде этого для его SQL соединенияПолиморфный класс с использованием лямбда
protected void WithConnection(Action<SqlConnection> sqlBlock)
{
try
{
using (SqlConnection connection = new SqlConnection(this.ConnectionString))
{
connection.Open();
sqlBlock(connection);
}
}
catch (Exception ex)
{
Console.WriteLine(@"Exception during database connection: {0}", ex);
}
}
Я думаю, что я нашел пост, что Джон Скит ответил, используя почти тот же код. https://stackoverflow.com/a/1063112/1329396
Я думаю, что это классно, но моя база данных использует SQLCEReader. Я сделал небольшое исследование и обнаружил, что у них общий класс System.Data.Common.DbDataReader
, и он находится только на одном уровне. Я не очень много разбираюсь в этом, но я думал о том, можно ли использовать стиль полиморфного стиля для использования стиля программирования WithConnection
, который позволил бы мне использовать мой SQLCeDataReader и его SQLDataReader. Есть ли способ сделать это
Я не понимаю, чего вы пытаетесь достичь. –