Freigeben über


BC36550: Das Extension-Attribut darf nur in Module-, Sub- oder Function-Deklarationen verwendet werden

Die einzige Möglichkeit, einen Datentyp in Visual Basic zu erweitern, besteht darin, eine Erweiterungsmethode innerhalb eines Standardmoduls zu definieren. Eine Erweiterungsmethode kann eine Sub- oder Function-Prozedur sein. Alle Erweiterungsmethoden müssen mit dem Erweiterungsattribut <Extension()> aus dem System.Runtime.CompilerServices-Namespace markiert werden. Optional kann ein Modul, das eine Erweiterungsmethode enthält, auf dieselbe Weise markiert werden. Eine andere Verwendung des Erweiterungsattributs ist nicht zulässig.

Fehler-ID: BC36550

So beheben Sie diesen Fehler

  • Entfernen Sie das Erweiterungsattribut.

  • Gestalten Sie Ihre Erweiterung als Methode neu, die in einem einschließenden Modul definiert ist.

Beispiel

Im folgenden Beispiel wird eine Print-Methode für den String-Datentyp definiert.

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

Siehe auch