Here is a sample of the code I am refactoring it works great as is, but I don't want to write (copy/paste/change) this code for every time I need it.
VB Code:
Public Sub RaiseSendMessageEvent(ByVal e As DocGenCommon.DocGen.DocGenEventArgs) For Each del As [Delegate] In SendMessageEvent.GetInvocationList() Try del.Method.Invoke(del.Target, New Object() {e}) Catch SendMessageEvent = DirectCast(System.Delegate.Remove(SendMessageEvent, del), IDocGenEventServer.SendMessageHandler) End Try Next End Sub
So far I have gotten this far and my problem is I cannot pass in the Type to the directcast statement.
VB Code:
Public Sub RaiseRemotedEvent(ByVal sender As [Delegate], ByVal eventtype As Type, ByVal e As DocGenCommon.DocGen.DocGenEventArgs) For Each del As [Delegate] In sender.GetInvocationList() Try del.Method.Invoke(del.Target, New Object() {e}) Catch ' this is where the error is "Type 'eventtype' is not defined." sender = DirectCast(System.Delegate.Remove(sender, del), eventtype) End Try Next End Sub
Any suggestions?




Reply With Quote