一部の定義済みメソッドには、署名にParamArrayが含まれています。ただし、デリゲートの署名に ParamArray を含めることはできません。
質問: ParamArray を必要とする特定のメソッドの委任メカニズムを作成したいとします。この制約をどのように回避しますか?
EDIT:明確にするために、メソッドシグネチャ自体を変更できないと仮定します(Microsoftかどうかに関係なく、サードパーティによって定義された事前定義されたメソッド)。
EDIT2:次のコードは機能しますが、砂糖を排除するため、ここでの本当の取引は構文 sugar を維持することです:
Public Delegate Sub MyDelegate(ByVal myArgs() As Object)
Public Sub PredefinedSub(ByVal ParamArray myArgs() As Object)
'...'
End Sub
Sub Test()
Dim aDelegate As New MyDelegate(AddressOf PredefinedSub)
aDelegate.Invoke(New Object() {1, 2, 3, 4})
End Sub
EDIT3: Skeet のソリューションは、ParamArray を含むイベントとオペレーターの作成にも適用できることがわかりました。