2011-03-07 3 views
0

I持って次のコード:イベントにハンドラをアタッチ:パラメータ

AddHandler sharepoint.UploadCompleted, AddressOf UploadEmailCompleted 

私はそうのように動作することが必要です。

AddHandler sharepoint.UploadCompleted, AddressOf UploadEmailCompleted(message) 

を、私は完全に、これが不可能である感謝し、少しの研究の後で、私はデリゲートを使用することが前進する方法かもしれないと思います。しかし、私はうまくいくソリューションを実装するのに苦労しています。

私は正しい軌道にいるのですか、それとも私が試みていないことですか?

答えて

1

messageとは何ですか?送信されたメッセージか、エラーメッセージですか? sharepoint.UploadedCompletedがEventArgsを返す場合は、コールバック関数内でこれらにアクセスできます。たとえば、私は、サービス内のメールテンプレートをロードするための次のコードを持っている:

Public Function LoadEmailTemplate(ByVal template As String) 

    Dim path As String = AppDomain.CurrentDomain.BaseDirectory + "EmailTemplates\" + template 

    Return (File.ReadAllText(path)) 

End Function 

はその後、私のクライアントアプリ内で、私はちょうど行います

Private Sub loadEmailTemplate_completed(ByVal sender As Object, ByVal e As MainServiceReference.LoadEmailTemplateCompletedEventArgs) 

    Dim body As String = e.Result 
    body = body.Replace("{CHEMICAL}", chemApp.Chemical.tradeName) 
    body = body.Replace("{REQUESTEDBY}", chemApp.requestedBy) 
    body = body.Replace("{FACILITY}", chemApp.facilityPath) 
    body = body.Replace("{ID}", chemApp.ID) 



    clientMain.SendMailAsync(toAddress, fromAddress, subject, body) 

End Sub 

は、私はその後LoadEmailTemplateCompletedEventArgsを経由して、戻り値にアクセスすることができます。 sharepoint.uploadcompletedと同様のことができますか?つまり値を返すように設定し、EventArgs経由でアクセスしますか?

ああ、参考のために、イベントハンドラは単にある:

AddHandler clientMain.LoadEmailTemplateCompleted, AddressOf loadEmailTemplate_completed 
関連する問題