Re: шаблон функции
От: alex_0000  
Дата: 28.08.08 13:13
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Есть шаблон функции, которая должна возвращать из базы данных базовый тип, который ей указывается в качестве параметра.


А>
А>        protected T ExecuteScalar<T>(string sql)
А>        {
А>            return (T)ExecuteScalarCore(sql); // Возвращает object
А>        }

А>


А>Но в стлучае, если результат выполнения SQL-запроса NULL, то возникает InvalidCastException при приведении (T)obejct


А>Как выйти из этой ситуации? Сейчас я перехватываю и обрабатываю InvalidCastException


А>Кстати, а в чём разница между Generic и шаблонами C++ ?



можно так:
protected T ExecuteScalar<T>(string sql)
{
return ExecuteScalarCore(sql) as T;
}
в этом случае в случае нула в методе ExecuteScalarCore, тебе и твой метод вернет нулл...

иначе просто добавь условие на проверку — нулл или не нулл
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.