"ParamArray" kann nicht auf den ersten Parameter einer Erweiterungsmethode angewendet werden
Aktualisiert: November 2007
Fehlermeldung
"ParamArray" kann nicht auf den ersten Parameter einer Erweiterungsmethode angewendet werden. Der erste Parameter gibt den zu erweiternden Typ an.
'ParamArray' cannot be applied to the first parameter of an extension method. The first parameter specifies which type to extend.
Der erste Parameter einer Erweiterungsmethode gibt den Datentyp an, der von der Methode erweitert wird. Daher ist der erste Parameter erforderlich und nicht optional. Da ein Parameterarray automatisch optional ist, ist es als erstes Argument einer Erweiterungsmethode nicht zulässig.
Hinweis: |
---|
Wird die Methode ausgeführt, wird die Instanz des erweiterten Datentyps, der die Methode aufruft, zum Argument für den ersten Parameter der Methode. Beispielsweise ist die Instanz greeting in greeting.Print() das Argument für den ersten Parameter (str) der Erweiterungsmethode Public Sub Print (ByVal str As String). |
Fehler-ID: BC36554
So beheben Sie diesen Fehler
Wenn das Parameterarray den zu erweiternden Datentyp nicht angibt, fügen Sie einen neuen ersten Parameter hinzu, der den Typ angibt.
<Extension()> Public Sub AddTo(ByRef str As String, ByVal ParamArray addOns() As String) ' Concatenate the strings in addOns to str. End Sub
Wenn das Parameterarray den zu erweiternden Datentyp angibt, können Sie es in ein reguläres Array ändern, das statt eines Parameterarrays ein Argument erfordert. Reguläre Arrays können erweitert werden.
<Extension()> Public Function Sum(ByVal ints() As Integer) As Integer Dim total As Integer = 0 For Each i As Integer In ints total = total + i Next i Return total End Function