![]() |
Модераторы: Partizan, gambit |
![]() ![]() ![]() |
|
Uvs |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 8.8.2007 Где: Челябинск Репутация: нет Всего: нет |
Всем привет!
Хочу добавить в класс OdbcDataReader метод CopyTo(List<T>), чтоб скопировать содержимое в список любой структуры. Для этого создал статический класс со статическим методом: public static class OdbcDataReaderExt<T> { public static void CopyTo(this OdbcDataReader dr, List<T> list) { list.Add(dr.Get....()); } } ,но компилятор ругается, что т.о. нельзя создать расширяющий метод. А без шаблона - никакого интереса нет! Как это можно сделать? |
|||
|
||||
Linus |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 13.8.2006 Где: Украина Репутация: 1 Всего: 4 |
Как ругается? Может это из-за параметра this OdbcDataReader dr?
Это сообщение отредактировал(а) Linus - 18.10.2007, 09:31 |
|||
|
||||
1stain |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 486 Регистрация: 30.7.2007 Где: Киев - Харьков Репутация: 8 Всего: 40 |
а если так:
з.ы. чисто навскидку, ибо Orcas еще не ставил... -------------------- Все знают, что это невозможно. Но вот приходит невежда, которому это неизвестно - он-то и делает открытие. (Albert Einstein) ![]() |
|||
|
||||
HalkaR |
|
|||
![]() Пуфыстый назгул ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2132 Регистрация: 8.12.2002 Где: В Москве Репутация: 14 Всего: 42 |
Uvs, .Net то у тебя 3,5?
|
|||
|
||||
Uvs |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 8.8.2007 Где: Челябинск Репутация: нет Всего: нет |
да. От этого сильно зависит?
Добавлено @ 10:22 Ругается вот так: error CS1106: Extension methods must be defined in a non-generic static class Если убрать шаблон из названия класса, то сразу тип T в параметре функции неизвестен. Это сообщение отредактировал(а) Uvs - 18.10.2007, 10:24 |
|||
|
||||
1stain |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 486 Регистрация: 30.7.2007 Где: Киев - Харьков Репутация: 8 Всего: 40 |
ну так и убери из класса, а метод сделай дженериком -------------------- Все знают, что это невозможно. Но вот приходит невежда, которому это неизвестно - он-то и делает открытие. (Albert Einstein) ![]() |
|||
|
||||
Linus |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 129 Регистрация: 13.8.2006 Где: Украина Репутация: 1 Всего: 4 |
Ааа, теперь понял ![]() |
|||
|
||||
Uvs |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 8.8.2007 Где: Челябинск Репутация: нет Всего: нет |
Всем большое спасибо и конкретно "одинокому камню"
![]() public static class OdbcDataReaderExt { public static bool CopyTo<T>(this OdbcDataReader dr, List<T> list) { try { .... } catch(Exception e) { MessageBox.Show(e.Message); return false; } finally { dr.Close(); dr.Dispose(); } return true; } } |
|||
|
||||
1stain |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 486 Регистрация: 30.7.2007 Где: Киев - Харьков Репутация: 8 Всего: 40 |
не за что
![]() а вот за такое, логарифмической линейкой по рукам бить надо! Не стоит перехватывать ВСЕ типы исключений. Юзаешь ODBC - вот и перехватывай ODBCException... -------------------- Все знают, что это невозможно. Но вот приходит невежда, которому это неизвестно - он-то и делает открытие. (Albert Einstein) ![]() |
|||
|
||||
Uvs |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 8.8.2007 Где: Челябинск Репутация: нет Всего: нет |
хм... - возможно
|
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |