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