Udostępnij za pośrednictwem


BC36550: atrybut "Extension" można zastosować tylko do deklaracji "Module", "Sub" lub "Function"

Jedynym sposobem rozszerzenia typu danych w visual basic jest zdefiniowanie metody rozszerzenia wewnątrz modułu standardowego. Metoda rozszerzenia może być procedurą Sub lub procedurą Function . Wszystkie metody rozszerzenia muszą być oznaczone atrybutem rozszerzenia , <Extension()>z System.Runtime.CompilerServices przestrzeni nazw. Opcjonalnie moduł zawierający metodę rozszerzenia może być oznaczony w taki sam sposób. Żadne inne użycie atrybutu rozszerzenia nie jest prawidłowe.

Identyfikator błędu: BC36550

Aby poprawić ten błąd

  • Usuń atrybut rozszerzenia.

  • Przeprojektuj rozszerzenie jako metodę zdefiniowaną w otaczającym module.

Przykład

W poniższym przykładzie zdefiniowano metodę Print dla String typu danych.

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

Zobacz też