Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Возврат ошибок из класса обратно в форму / 7 сообщений из 7, страница 1 из 1
29.11.2014, 20:39
    #38820384
lex452
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возврат ошибок из класса обратно в форму
Попробую сформулировать проблему.

Есть родительская форма с ListView в котором отображаются ошибки возникшие при выполнении процедур в программе. Создан отдельный класс, содержащий некоторые процедуры (в отдельный класс вынесены просто для того чтобы не захламлять основной код программы). Проблема: при нажатии кнопки на форме вызывается процедура из класса и я бы хотел чтобы в случае ошибки при выполнении процедуры, сообщение об ошибке передавалось в ListView основной формы. Как это реализовать?
На ум пришло только передавать переменную ref string error в процедуру класса, в процедуре передавать в нее текст ошибки (если она возникнет) и после выполнения просматривать эту переменную и если она не пустая, то выводить ее содержимое в ListView, но мне этот вариант как-то не очень нравится. Может кто подскажет альтернативу? c#
...
Рейтинг: 0 / 0
29.11.2014, 21:31
    #38820403
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возврат ошибок из класса обратно в форму
lex452На ум пришло только передавать переменную ref string error в процедуру класса,
а просто при нажатии кнопки исключение поймать никак?
...
Рейтинг: 0 / 0
29.11.2014, 22:50
    #38820439
lex452
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возврат ошибок из класса обратно в форму
нет, не пойдет. При нажатии кнопки выполняется несколько независимых процедур и если я поймаю исключение после неправильной первой процедуры то не выполнятся остальные, а мне нужно чтобы они выполнились.
...
Рейтинг: 0 / 0
29.11.2014, 22:59
    #38820447
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возврат ошибок из класса обратно в форму
lex452нет, не пойдет. При нажатии кнопки выполняется несколько независимых процедур и если я поймаю исключение после неправильной первой процедуры то не выполнятся остальные, а мне нужно чтобы они выполнились.
ну тогда в авторСоздан отдельный класс, содержащий некоторые процедуры организовать событие (event), в вызывающем коде - подписаться на него, в обработчике спокойно пополнять листбокс

главное - тот самый отдельный класс абсолютно ничего не должен знать о том откуда его вызывают и что с его сообщениями делают
...
Рейтинг: 0 / 0
29.11.2014, 23:29
    #38820465
lex452
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возврат ошибок из класса обратно в форму
А не могли бы примерчик?
...
Рейтинг: 0 / 0
30.11.2014, 00:52
    #38820504
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возврат ошибок из класса обратно в форму
lex452,

примерно так
Код: 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.
31.
32.
33.
34.
35.
using System.IO;
using System;

public class WorkEventArgs
    {
        public WorkEventArgs(string s) { Text = s; }
        public String Text {get; private set;} // readonly
    }
    
public class Work{
    public event WorkEventHandler WorkEvent;
    public delegate void WorkEventHandler(object sender, WorkEventArgs e);
    protected void fireEvent(string message){
        if (WorkEvent != null)
                WorkEvent(this, new WorkEventArgs(message));
    }
    public void doWork(){
        doSubwork();
        fireEvent("main");
    }
    public void doSubwork(){
        fireEvent("sub");
    }
}


class Program
{
    static void Main()
    {
        Work w= new Work();
        w.WorkEvent += (o,e)=>Console.WriteLine("Event: {0}",e.Text);
        w.doWork();   
    }
}

...
Рейтинг: 0 / 0
30.11.2014, 19:28
    #38820820
lex452
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Возврат ошибок из класса обратно в форму
Спасибо буду пробовать
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Возврат ошибок из класса обратно в форму / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]