'ParamArray' を拡張メソッドの最初のパラメーターに適用できません。 最初のパラメーターは、拡張する型を指定します。
拡張メソッドの最初のパラメーターでは、そのメソッドが拡張するデータ型を指定します。 そのため、最初のパラメーターは必須であり、省略可能にすることはできません。 パラメーター配列は、自動的に省略可能であるため、拡張メソッドの最初の引数として有効ではありません。
Note
メソッドが実行されると、そのメソッドを呼び出す拡張データ型のインスタンスが、メソッドの最初のパラメーターの引数になります。 たとえば、 greeting のインスタンス greeting.Print() は、拡張メソッド strの最初のパラメーター Public Sub Print (ByVal str As String)の引数です。
エラー ID: BC36554
このエラーを解決するには
パラメーター配列で拡張するデータ型を指定しない場合は、その型を指定する新しい最初のパラメーターを追加します。
<Extension()> Public Sub AddTo(ByRef str As String, ByVal ParamArray addOns() As String) ' Concatenate the strings in addOns to str. End Subパラメーター配列で拡張するデータ型を指定する場合は、パラメーター配列の代わりに、引数を必要とする通常の配列に変更することを検討してください。 通常の配列は、拡張できます。
<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
関連項目
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET