Unfortunately this is prohibited by C# because myService.SomeEvent can only appear on the left hand side of a += or a -= (for good reason). My question is what other options do I have? Ideally I'd like this to be type safe, which rules out reflection and doing the following (which I've already implemented):