Как я могу вернуть значение из события?C#

Место общения программистов C#
Anonymous
Как я могу вернуть значение из события?

Сообщение Anonymous »

Я создаю небольшое многопоточное приложение, использующее асинхронные TCP-сокеты, но перейду к сути: я использую пользовательское событие для чтения значения из формы, а делегат, используемый событием, возвращает строку после завершения.[1]
Мой вопрос: правильно ли это? Можно ли возвращать значения из событий или будут ситуации, в которых это не сработает? или есть лучший способ сделать это? (например, использование простого делегата в форме для чтения значений)

[1]Например, что-то вроде этого:

Код: Выделить всё

public class MyEventArgs : EventArgs
{
public MyEventArgs(string formValue) { this.FormValue = formValue; }
public string FormValue { get; private set; }
};

public delegate string MyEventHandler(object sender, MyEventArgs ars);
public event MyEventHandler  MyEvent;

public string FormValue { get; set; }

void OnMyEvent()
{
var handledValue = MyEvent?.Invoke(this, new MyEventArgs(FormValue));
// Do something with handledValue
}


Подробнее здесь: https://stackoverflow.com/questions/121 ... m-an-event

Вернуться в «C#»