Я хочу создать общий подкласс EventArgs, который имеет свойство только для записи, которое при обновлении кодом, обрабатывающим событие, также обновляет параметр byref конструктора класса.
Код, который у меня есть, не работает.Как получить свойство «Item» для обновления параметра конструктора «item», чтобы я мог получить значение, которое было установлено?
public class EventArgsSet<T> : EventArgs
{
public EventArgsSet(ref T item)
{
Item = item;
}
public T Item
{
private get;
set;
}
}
Я хочу иметь возможность вызывать подобное событие (VB.NET):
Dim myItem As SomeType = Nothing
Dim e = new EventArgsSet(Of SomeType)(myItem)
RaiseEvent SomeEvent(Me, e)
//'Do something with myItem
И обработчик событий может выглядеть примерно так:
Public Sub myObj_SomeEvent(sender As Object, e As EventArgsSet(Of SomeType)) Handles myObj.SomeEvent
e.Item = theObjectToSet
End Sub