【发布时间】:2015-07-16 17:14:16
【问题描述】:
具有以下方法签名
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 数组的一部分的情况下调用每个重载的正确方法是什么?
【问题讨论】:
-
既然都是字符串,我认为混淆是不可避免的。如何判断
b是b还是c中的第一项? -
类似于 string.Format 方法 Format(String, Object), Format(String, Object[]), Format(String, Object, Object)。要调用 Format(String, Object[]) 您需要 4 个参数,否则将调用 Format(String, Object, Object) 。我使用 C#,但它的东西是一样的
-
唯一的方法是使用 RareSub(a:aValue, b:bValue) 之类的名称调用
-
VB.NET 语言有关于选择哪个重载的规则,在语言规范中有详细说明。正如所写,第一个方法只会在仅使用 one 参数调用时使用。因此它不是很有用,您不妨删除 c 参数。
-
您希望
RareSub("a", "c")调用第一个重载。这就是你想要做的吗?