如何区分两个方法重载都带有 ParamArray 参数?
How to distinguish between two method overloads both with a ParamArray parameter?
具有以下方法签名
Public Sub RareSub(a as string, ParamArray c as string())
Public Sub RareSub(a as string, b as string, ParamArray c as string())
在不将 b
参数作为 c
数组的一部分的情况下调用每个重载的正确方法是什么?
您需要使用名称进行调用,这样编译器就会知道其中的区别
RareSub(a:=aValue, b:=bValue)
ParamArray
接受数组作为参数列表。
如果您想使用第一种方法(带有一个参数和 ParamArray
),则为 ParamArray
添加参数作为数组声明
RareSub("Value", {"ParamArrayvalue"})
'or
RareSub("Value", {"ParamArrayvalue1", "ParamArrayvalue2"})
正如评论中提到的,当至少有两个 String
类型的参数被传递给方法
时,将始终调用另一个重载方法
具有以下方法签名
Public Sub RareSub(a as string, ParamArray c as string())
Public Sub RareSub(a as string, b as string, ParamArray c as string())
在不将 b
参数作为 c
数组的一部分的情况下调用每个重载的正确方法是什么?
您需要使用名称进行调用,这样编译器就会知道其中的区别
RareSub(a:=aValue, b:=bValue)
ParamArray
接受数组作为参数列表。
如果您想使用第一种方法(带有一个参数和 ParamArray
),则为 ParamArray
添加参数作为数组声明
RareSub("Value", {"ParamArrayvalue"})
'or
RareSub("Value", {"ParamArrayvalue1", "ParamArrayvalue2"})
正如评论中提到的,当至少有两个 String
类型的参数被传递给方法