Поделиться через


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

Обновлен: Ноябрь 2007

'Extension' attribute can be applied only to 'Module', 'Sub', or 'Function' declarations

Единственный способ расширения типа данных в 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

См. также

Основные понятия

Применение атрибутов

Методы расширения (Visual Basic)

Ссылки

Оператор Module