Я предполагаю, что это полное сообщение об ошибке:
'Открытая функция GetFormsCredentials (authCookie As System.Net.Cookie, userName As String, пароль As String, полномочия As String) As Boolean'и' Открытая функция GetFormsCredentials (ByRef authCookie как System.Net.Cookie, ByRef userName как String, ByRef пароль как String, ByRef authorиться как String) Как Boolean «не может перегрузить друг друга, поскольку они отличаются только параметрами, объявленными« ByRef »или«ByVal '.
В разделе Синтаксис документов MSDN для IReportServerCredentials.GetFormsCredentials вы видите этот пример кода для объявления.
'Declaration
Function GetFormsCredentials ( _
<OutAttribute> ByRef authCookie As Cookie, _
<OutAttribute> ByRef userName As String, _
<OutAttribute> ByRef password As String, _
<OutAttribute> ByRef authority As String _
) As Boolean
Ваша функцияВ объявлении отсутствует ключевое слово ByRef и атрибут OutAttribute для каждого параметра.Атрибут ByRef указывает компилятору VB.NET передать значение параметра обратно вызывающей стороне.OutAttribute сообщает компилятору, создающему вызывающий код, что ему не нужно инициализировать параметр перед его передачей. Вы можете найти дополнительную информацию о выходных параметрах из статьи Directional Attributes в MSDN, а также этот полезный ответот Лассе В. Карлсена на вопрос StackOverflow о Attribute. What useful purpose does is serve?">атрибут .
Атрибут OutAttribute объявлен в пространстве имен System.Runtime.InteropServices, поэтому вам понадобится этот оператор Import в верхней части вашего файла.
Imports System.Runtime.InteropServices
Ваша функция должнабольше похоже на это:
Public Function GetFormsCredentials(<OutAttribute()> ByRef authCookie As System.Net.Cookie, <OutAttribute()> ByRef userName As String, <OutAttribute()> ByRef password As String, <OutAttribute()> ByRef authority As String) As Boolean Implements IReportServerCredentials.GetFormsCredentials
authCookie = Nothing
userName = Nothing
password = Nothing
authority = Nothing
Return False
End Function