#c# #.net #database
#c# #.net #База данных
Вопрос:
У меня есть метод, в котором одним из параметров является «out IDbConnection parameter». Я попытался заполнить его переменной, которая реализует System.Data.IDbConnection, но он все еще ошибается при сборке. Что мне нужно передать этому параметру и как используется параметр IDbConnection?
Комментарии:
1. Пожалуйста, опубликуйте подробную информацию об ошибке и сбойном коде
2. Параметр out дает вам значение, вам не нужно его указывать. Вам нужно повторить
out
ключевое слово. Смотрите документацию
Ответ №1:
Я предполагаю, что вам не хватает ключевого слова out перед параметром в вызывающем методе. Вы могли бы просто сделать это:
using (var dbConnection = myObject.Method(out IDbConnection myConnection)
{...}
System.Data.Интерфейс IDbConnection реализует IDisposable и имеет метод Close. Вызываемый вами метод, вероятно, создает соединение с базой данных и присваивает его переменной, которую вы передали («MyConnection», см. Выше).
Ключевое слово out не только позволяет методу инициализировать эту переменную изнутри метода, но и позволяет вам использовать эту переменную вне метода и продолжать работать с этим соединением или удалять его с помощью инструкции using, как показано выше.
Комментарии:
1. Это не будет компилироваться.
2. Упс. Я вижу, что я инициализировал переменную перед методом и забыл ключевое слово out. Спасибо за пример и объяснение!