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