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

Aktualisiert: November 2007

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

Die einzige Möglichkeit, Datentypen in Visual Basic zu erweitern, ist die Definition einer Erweiterungsmethode innerhalb eines Standardmoduls. Die Erweiterungsmethode kann eine Sub-Prozedur oder eine Function-Prozedur sein. Alle Erweiterungsmethoden müssen mit dem Extension-Attribut <Extension()> aus dem System.Runtime.CompilerServices-Namespace markiert werden. Optional kann ein Modul, das eine Erweiterungsmethode enthält, auf die gleiche Weise markiert werden. Eine andere Verwendung des Extension-Attributs ist nicht gültig.

Fehler-ID: BC36550

So beheben Sie diesen Fehler

  • Entfernen Sie das Extension-Attribut.

  • Entwerfen Sie die Erweiterung als Methode, 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

Konzepte

Anwendung von Attributen

Erweiterungsmethoden (Visual Basic)

Referenz

Module-Anweisung