In .NET applications, events are usually related as follows:
public event EventHandler<ChangeEventArgs> OnChange
{
add { _dependency.OnChange += value; }
remove { _dependency.OnChange -= value; }
}
However, this only works if the wired events have the same event handler. In my current case, the args source events are the property of the library, and I do not want to disclose this to the client code. So I have some kind of adapter (ChangeEventArgs). How can I use the above code to convert event arguments? I present something like below (but below code does not work)
public event EventHandler<ChangeEventArgs> OnChange
{
add { _dependency.OnChange += Convert(value); }
remove { _dependency.OnChange -= Convert(value); }
}
or
public event EventHandler<ChangeEventArgs> OnChange
{
add { _dependency.OnChange += value(this, Convert(args)); }
remove { _dependency.OnChange -= value(this, Convert(args)); }
}
source
share