Если вы хотите выставить события напрямую (без определения новых обработчиков, которые вы перенаправили бы своим подписчикам), вы можете сделать это:
class MyClass {
private readonly OtherClass other = new OtherClass();
public event EventHandler Click {
add { other.Click += value; }
remove { other.Click -= value; }
}
}
Преимущество этого метода в том, что вам не нужно обрабатывать события из OtherClass и пересылать их как свои собственные. Недостаток (и причина, по которой я объявил поле «прочее» как доступное только для чтения) состоит в том, что любой, кто подключается к событию Click в MyClass, действительно косвенно подключается к событию Click в OtherClass. Таким образом, вы не захотите просто изменить другой экземпляр, потому что подписчики, которые уже обрабатывали событие, не будут вызываться.