Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
 Аватар для sire
26 / 26 / 1
Регистрация: 01.05.2011
Сообщений: 143
.NET 4.x

Вывести в отдельный метод

07.03.2013, 16:42. Показов 1675. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Приветствую просьба не пинать.

Есть на кнопке код

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 protected void btnEdit_Click(object sender, EventArgs e)
    {
        clsAddressesCollection Addresses = new clsAddressesCollection();
        clsRecords AnAddress;
        Int32 AddressNo;
        if (lstAddresses.SelectedIndex != -1)
        {
            AnAddress = new clsRecords();
            AddressNo = Convert.ToInt32(lstAddresses.SelectedValue);
            AnAddress = Addresses.GetAddressByID(AddressNo);
            Session["TheAddress"] = AnAddress;
            Response.Redirect("AnAddress.aspx");
          
        
        }
 
        else
        {
            lblError.ForeColor = System.Drawing.Color.Red;
            lblError.Text = "Выберите запись сначала";
        }
    }
Но то-же самый код висит еще под двумя кнопками.

Хотелось бы вывести в отдельный метод . И на кнопки повесить вызов .

Вопрос как это все сделать?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.03.2013, 16:42
Ответы с готовыми решениями:

Вывод цикла в отдельный метод
Здравствуйте. Кто поможет вывести цикл (с 16 по 28 строку) в отдельный метод? Спасибо public static string Split(string...

Вычисление факториала поместить в отдельный метод
нужно переделать метод факториал(2к)! ,чтоб он вызывался не через метод а в самом коде. namespace lab { public partial class...

Вынести в отдельный метод часть из мейна
Задача заключается в том, что нужно проверку ввода(строчки 29-44,61-77) сделать отдельным методом. Помогите, пожалуйста) using...

9
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
07.03.2013, 16:49
sire, ну например написать для всех кнопок один и тот же обработчик, который использовать так:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 protected void AnyEdit_Click(object sender, EventArgs e)
    {
        clsAddressesCollection Addresses = new clsAddressesCollection();
        clsRecords AnAddress;
        Int32 AddressNo;
        if (lstAddresses.SelectedIndex != -1)
        {
            AnAddress = new clsRecords();
            AddressNo = Convert.ToInt32(lstAddresses.SelectedValue);
            AnAddress = Addresses.GetAddressByID(AddressNo);
            Session["TheAddress"] = AnAddress;
            Response.Redirect("AnAddress.aspx");        
        }
        else
        {
            lblError.ForeColor = System.Drawing.Color.Red;
            lblError.Text = "Выберите запись сначала";
        }
    }
При необходимости, можно использовать object sender, не зря же они во всех событиях фигурируют...
0
 Аватар для sire
26 / 26 / 1
Регистрация: 01.05.2011
Сообщений: 143
07.03.2013, 17:03  [ТС]
AnyEdit вроде не пойдет, он еще на кнопке Delete видит
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 protected void btnDelete_Click(object sender, EventArgs e)
    {
        clsAddressesCollection Addresses = new clsAddressesCollection();
        clsRecords AnAddress;
        Int32 AddressNo;
        if (lstAddresses.SelectedIndex != -1)
        {
            AnAddress = new clsRecords();
            AddressNo = Convert.ToInt32(lstAddresses.SelectedValue);
            AnAddress = Addresses.GetAddressByID(AddressNo);
            Session["TheAddress"] = AnAddress;
            Response.Redirect("AreYouSure.aspx");
 
        }
        else
        {
            lblError.ForeColor = System.Drawing.Color.Red;
            lblError.Text = "Выберите запись сначала";
        }
    }
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
07.03.2013, 17:15
sire, и что? Сигнатура одна и та же (object, EventArgs)
0
 Аватар для sire
26 / 26 / 1
Регистрация: 01.05.2011
Сообщений: 143
07.03.2013, 17:18  [ТС]
Цитата Сообщение от Psilon Посмотреть сообщение
sire, и что? Сигнатура одна и та же (object, EventArgs)

не знаю, нюб я. И как это вызвать ?
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
07.03.2013, 17:20
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 protected void AnyEdit_Click(object sender, EventArgs e)
    {
        clsAddressesCollection Addresses = new clsAddressesCollection();
        clsRecords AnAddress;
        Int32 AddressNo;
        if (lstAddresses.SelectedIndex != -1)
        {
            AnAddress = new clsRecords();
            AddressNo = Convert.ToInt32(lstAddresses.SelectedValue);
            AnAddress = Addresses.GetAddressByID(AddressNo);
            Session["TheAddress"] = AnAddress;
            Response.Redirect(GetActionById[(sender as Control).ID]);        
        }
        else
        {
            lblError.ForeColor = System.Drawing.Color.Red;
            lblError.Text = "Выберите запись сначала";
        }
    }
где
C#
1
GetActionById == Dictionary<string,string>
Добавлено через 45 секунд
не знаю, нюб я. И как это вызвать ?
Вместо того, чтобы дважды шлепнуть на контрол и написать обработчик напишите его вручную во вкладке Events...
1
 Аватар для m0nax
1274 / 975 / 113
Регистрация: 12.01.2010
Сообщений: 1,971
07.03.2013, 18:10
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
 protected void btnEdit_Click(object sender, EventArgs e)
    {
        Foo();
    }
protected void любой_другой_обработчик(object sender, EventArgs e)
    {
        Foo();
    }
 
private void Foo(){
clsAddressesCollection Addresses = new clsAddressesCollection();
        clsRecords AnAddress;
        Int32 AddressNo;
        if (lstAddresses.SelectedIndex != -1)
        {
            AnAddress = new clsRecords();
            AddressNo = Convert.ToInt32(lstAddresses.SelectedValue);
            AnAddress = Addresses.GetAddressByID(AddressNo);
            Session["TheAddress"] = AnAddress;
            Response.Redirect("AnAddress.aspx");
          
        
        }
 
        else
        {
            lblError.ForeColor = System.Drawing.Color.Red;
            lblError.Text = "Выберите запись сначала";
        }
}
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
07.03.2013, 19:26
m0nax, смысл в этом? Лучше уж один обработчик, он хоть может реагировать на sender и EventArgs. Незачем плодить одно и то же.
0
 Аватар для m0nax
1274 / 975 / 113
Регистрация: 12.01.2010
Сообщений: 1,971
07.03.2013, 21:54
Цитата Сообщение от Psilon Посмотреть сообщение
m0nax, смысл в этом? Лучше уж один обработчик, он хоть может реагировать на sender и EventArgs. Незачем плодить одно и то же.
если понадобится кроме метода еще что-то сделать в конкретном обработчике?
если будет другая сигнатура у обработчика? там скажем не EventArgs а какой-нибудь MouseEventArgs ?
если надо будет вызвать из своего кода этот кусок?
вперед отписывать/подписывать/говнокодить с вторыми обработчиками и PerformClick...

да и вообще по всем стандартам - если кусок используется больше чем в 1 месте надо его выносить в отдельный метод
0
Master of Orion
Эксперт .NET
 Аватар для Psilon
6102 / 4958 / 905
Регистрация: 10.07.2011
Сообщений: 14,522
Записей в блоге: 5
07.03.2013, 23:54
m0nax, что мешает в самом дизайнере прописать
C#
1
2
3
button1.Click += SomeHandler;
button2.Click += SomeHandler;
button3.Click += SomeHandler;
?

Цитата Сообщение от m0nax Посмотреть сообщение
да и вообще по всем стандартам - если кусок используется больше чем в 1 месте надо его выносить в отдельный метод
а я с этим никогда и не спорил
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.03.2013, 23:54
Помогаю со студенческими работами здесь

Вынести в отдельный метод работу с токеном Vk
Приветствую всех. Изучаю C# 4 день и решил написать программу под vk Все хорошо , есть представления как реализовать задумка. ...

Выделить код в отдельный метод другого класса
Во многих методах присутствует код object o=readFoo(query); variable; if (o == DBNull.Value) variable = ; ...

Вынести метод из класса MainForm в отдельный класс
Доброго времени суток! У меня в основном классе MainForm, имеется метод private void PopulateDataSet(), который заполняет моими...

Добавить элемент в начало массива (отдельный метод)
static void AddAnElement(int mas) { int elem; Console.WriteLine(&quot;Введите значение элемента, который...

Передать метод в отдельный поток в качестве параметра
Thread thread = new Thread(new ThreadStart(method(First, out VarForOut))); пишет ошибку: &quot;Требуется имя метода&quot; в чём проблема у...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru