Перейти к содержимому


- - - - -

Возврат результатов события в класс для отображения


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 2

#1 drnet

drnet
  • ♞♞♞♞♞♞♞♞♞

  • Динозавр Форума
  • 8 810 сообщений
  • Пол:Мужчина
  • Город:
  • Интересы:В детстве был конструктор Лего, увлечение осталось.<br />Создал свой Лего для взрослых :)

Отправлено 25.01.2009 - 17:48

Цитата

class MyPage
{
.................
protected void btnRunQuery_Click( object sender, EventArgs e )
{
DBConnection.InfoMessage += new System.Data.SqlClient.SqlInfoMessageEventHandler( void DBConnection_InfoMessage );
//Сейчас мы здесь соединяемся с базой данных и получаем .
                }
..................
void DBConnection_InfoMessage( object sender, System.Data.SqlClient.SqlInfoMessageEventArgs e )
{
txtResult.Text = "\r\n" + e.Message;
}
..........
}


Задача. Обработчик событий возвращает каждый раз набор данных, этот набор данных обрабатывается в   class MyPage без пробелем и вызывать метод DBConnection_InfoMessage, который записывает последовательно результаты в текстбокс txtResult
при выполнении запроса к базе данных.
Задача: необходимо переместить весь код, имеющий отношение к базе данных MS SQL Server
в дургое пространство имён и другой класс, например.

public static class MyData
{

//Returns data
public static string ExecuteSQL()

return txtResult;
}
Перенести метод легко, но как быть с обработчиком событий SqlInfoMessageEventHandler, КОТОРЫЙ ОБРАБАТЫВАЕТ СОБЫТИЯ MS SQL Server?

З.Ы.Сомневаюсь, что на этом форуме кто-то может помочь:)

#2 Vipous

Vipous
  • Великий и Могучий

  • Power User
  • 1 899 сообщений
  • Пол:Мужчина
  • Город:Солнцево

Отправлено 26.01.2009 - 14:40

Не совсем понятно что приведено.

Но что мешает перенести обработчик событий тоже?

Или чтобы обработчик вызвал метод другого класса.

#3 drnet

drnet
  • ♞♞♞♞♞♞♞♞♞

  • Динозавр Форума
  • 8 810 сообщений
  • Пол:Мужчина
  • Город:
  • Интересы:В детстве был конструктор Лего, увлечение осталось.<br />Создал свой Лего для взрослых :)

Отправлено 26.01.2009 - 18:41

Просмотр сообщенияVipous (26 Января 2009, 14:40) писал:

Не совсем понятно что приведено.

Но что мешает перенести обработчик событий тоже?

Или чтобы обработчик вызвал метод другого класса.
Уже решил. Примерно так. Запихнул событие(обхъявил там)  в нестатический класс на который ссылается мой класс  с данными(он статический и туда нельзя). Вызываю метод моего класса из того класса который последовательно возвращает данные  после использования делегата события. Вроде работает. Задачка нетривиальная, так как нужно использовать именно стандартный делегат обработчика событий и использовать исключительно его.
Ссылки
Class C(обработчик другого события, неважно типа метод)  -> Class A(динамический класс)
Class B(статический класс)  -> Class A(динамический класс)
В классе А происходит запись результатов события.




Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 скрытых пользователей