BC36550: атрибут Extension можно применять только к объявлениям Module, Sub или Function

Единственным способом расширения типа данных в Visual Basic является определение метода расширения в стандартном модуле. Метод расширения может быть процедурой Sub или процедурой Function . Все методы расширения должны быть помечены атрибутом расширения из <Extension()>System.Runtime.CompilerServices пространства имен. При необходимости модуль, содержащий метод расширения, может быть помечен таким же образом. Никакого другого использования атрибута расширения не является допустимым.

Идентификатор ошибки: BC36550

Исправление ошибки

  • Удалите атрибут расширения.

  • Измените расширение в виде метода, определенного в заключенном модуле.

Пример

В следующем примере определяется Print метод для String типа данных.

Imports StringUtility
Imports System.Runtime.CompilerServices
Namespace StringUtility
    <Extension()>
    Module StringExtensions
        <Extension()>
        Public Sub Print (ByVal str As String)
            Console.WriteLine(str)
        End Sub
    End Module
End Namespace

См. также