Переадресация событий различного типа

Я пытаюсь перенаправить события из одного класса в объекты, содержащиеся в нем (как описано здесь:Пересылка событий в C #). Тем не менее, события имеют другой тип.

Например, у меня есть классItem который выставляетValueChanged обработчик событий типаEventHandler, КлассItemHaver подвергаетEventHandler<StatusEventArgs>, который должен стрелять всякий раз, когдаItem.ValueChanged делает, но должен также предоставить дополнительную информацию. Как правильно реализоватьadd/remove кItemValueChanged объявление события?

В приведенном ниже коде будет ли лямбда-функция вadd метод выполнения правильного действия, и если да, то как правильно обращаться сremove?

class Item
{
    public event EventHandler ValueChanged;
}

class ItemHaver
{
    private int _status;
    private Item _item;

    public event EventHandler<StatusEventArgs> ItemValueChanged
    {
        add 
        { 
            _item.ValueChanged += value; // Wrong type
            _item.ValueChanged += 
                (obj, e) => value(obj, new StatusEventArgs(this._status));
        }
        remove 
        { 
            _item.ValueChanged -= // Does this even work?
                (obj, e) => value(obj, new StatusEventArgs(this._status));  
        }
    }
}

class StatusEventArgs : EventArgs
{
    int Status { get; private set; }
    StatusEventArgs(int status) { Status = status; }
}

Ответы на вопрос(1)

Ваш ответ на вопрос