Compartilhar via


BC36550: o atributo 'Extension' só pode ser aplicado a declarações 'Module', 'Sub' ou 'Function'

A única maneira de estender um tipo de dados no Visual Basic é definir um método de extensão dentro de um módulo padrão. O método de extensão pode ser um Sub procedimento ou um Function procedimento. Todos os métodos de extensão devem ser marcados com o atributo de extensão, <Extension()>no System.Runtime.CompilerServices namespace. Opcionalmente, um módulo que contém um método de extensão pode ser marcado da mesma maneira. Nenhum outro uso do atributo de extensão é válido.

ID do erro: BC36550

Para corrigir este erro

  • Remova o atributo de extensão.

  • Reprojete sua extensão como um método, definido em um módulo delimitado.

Exemplo

O exemplo a seguir define um Print método para o String tipo de dados.

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

Consulte também