BC36550: O atributo 'Extension' pode ser aplicado apenas às 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 procedimento Sub
ou Function
. Todos os métodos de extensão precisam ser marcados com o atributo de extensão, <Extension()>
, do namespace System.Runtime.CompilerServices. 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 os atributos de extensão.
Reprojete sua extensão como um método, definido em um módulo de integração.
Exemplo
O exemplo a seguir define um método Print
para o tipo de dados 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