yes you can, and its not that difficult, but it seems there isint a whole lot of info on this, so great question.
Dim sourceObject As New FooBar
Dim destObject As New FooBar
AddHandler sourceObject.SomeEvent, AddressOf myFunc
Dim miHandler As FieldInfo = GetType(FooBar).GetField("SomeEvent", BindingFlags.Static Or BindingFlags.NonPublic Or BindingFlags.Instance)
Dim sourceDelegate As [Delegate] = miHandler.GetValue(sourceObject)
Dim addDelegate As [Delegate] = sourceDelegate.GetInvocationList().First() ' if its multicast, then you'll need to copy the lot
AddHandler destObject.SomeEvent, addDelegate
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…