Делегаты и ParamArray - предложения обойти?
Некоторые предопределенные методы содержатParamArray в их подписи. Однако делегаты не могут содержать ParamArray в своей подписи.
Вопрос: Предположим, вы хотите создать механизм делегирования для конкретного метода, который требует ParamArray. Как бы вы обойти это ограничение?
РЕДАКТИРОВАТЬ: просто чтобы прояснить, предположим, что вы не можете изменить сигнатуры метода сами (предопределенные методы, определенные какой-либо третьей стороной, будь то Microsoft или нет).
EDIT2:Реальная сделка здесь заключается в сохранении синтаксиса сахарапотому что следующий код работает, но исключает сахар:
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.