2017-06-05 10 views
1

私はDevexpressファイルアップロードコントロールを使用しています。私はUploadControlExtensionクラスに次overloadで使用して作っています:追加のパラメータをメソッドに渡す

public static UploadedFile[] GetUploadedFiles(string name, UploadControlValidationSettings validationSettings, EventHandler<FileUploadCompleteEventArgs> fileUploadCompleteDelegate); 

私の完全なイベントメソッドのシグネチャは次のようになります。私が何をしようとしています何

public static void AttachmentUploadedCompleteEvent(object sender, FileUploadCompleteEventArgs e) 

AttachmentUploadedCompleteEvent()方法に追加のパラメータを渡すです。 Delegates

cannot convert from 'method group' to 'out string[]'

私の知識は私が誰かを期待していた最善ではありません。だから私は、私が上記に変更した場合、私はエラーを取得する署名が

public static void AttachmentUploadedCompleteEvent(object sender, FileUploadCompleteEventArgs e, bool isAdmin) 

に変更したい。しかし、もちろんのこれを達成する方法について正しい方向に向けることができます。

ご協力いただきありがとうございます。

答えて

1

signature of the delegateと互換性のある方法を提供する必要があります。つまり、GetUploadedFilesの3番目のパラメータは、objectFileUploadCompleteEventArgsをパラメータとし、voidを返すメソッドでなければなりません。

あなたの機能を「カレー」にラムダを渡すことができます。

GetUploadedFiles(name, validationSettings, (s, e)=> { AttachmentUploadedCompleteEvent(s, e, isAdmin); } 

ラムダ式は、必要なデリゲートのシグネチャと一致匿名メソッドで、まだあなたに別のパラメータを渡すことができます元の方法。

+0

おかげのようなデリゲートの宣言を変更する必要があります!それはまさに私が必要としたものでした。あなたは私に多くの時間を救った! – Code

+0

これはうれしいことです。 – kennyzx

0

あなたは

パブリックデリゲートのボイドAttachmentUploadedCompleteEventHandler(オブジェクト送信者、FileUploadCompleteEventArgs E、ブールisAdmin)このため

関連する問題