问题标签 [paramarray]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 将方法从列表传递给委托?
我正在从 Web 学习 C#,在练习参数数组作为参数和委托并四处玩耍时,我想出了一段代码,它是死胡同,或者我不知道该怎么做。
(我不是想写任何东西,也不是为了某事,我只是在学习和写任何东西:))
是否可以将存储在列表中的方法传递给委托然后调用?
(ps:请忽略我忽略了静态的事实,它不会像这样运行(或永远不会))
mysql - 如果特定列不可用于同一员工,则 Mysql 插入
我有一个控制器来保存记录
我的表包含以下字段
这是必须的(它必须在循环中重复)。
我想在表中为员工 ID 插入一条记录,并且不应再次重复。但同一员工可以有多个批次 ID 和多个课程 ID。
如果我将 Unique 作为不再工作的员工 ID 将另一条记录插入同一员工。
这个过程应该在循环内重复,我需要从表中获取最后插入的 ID,并且必须分配另一个表中的学生人数。如果我在 Mysql 中创建一个过程并且如果我调用过程,这一切都很好。但是我的 Linux 服务器没有执行并抛出 MySQL 错误。
这是我的查询和
请向我发送查询以解决此问题。
以上是我的疑问。
vbscript - vbscript中的参数数组
我们有一个使用 VB6 COM 的经典 ASP,如下所示:
被调用的过程是这样的:
我们希望停止使用 VB6COM 并将此功能移至 ASP 网站。
所以调用应该删除 Server.CreateObject 行并最终如下所示:
问题是,VBScript 不支持 ParamArrays。
我知道我们可以将 ParamArray 更改为数组对象。但是由于我们必须更改数千个调用,所以如果有一种方法可以保持原始调用会更好。
有任何想法吗?
vb.net - COM 和 ParamArray
我对 ParamArray 有疑问。默认情况下,这应该是可选的,但似乎并非如此。
我在 ASP 页中有以下代码。
然后在我的 COM 类中,我有以下定义
这会导致找不到/不支持 Execute 方法的错误。但是,如果我修改 ASP 页面中的 Execute 方法以将某些内容传递给 ParamArray,那么它就可以正常工作。
我不明白为什么省略 ParamArray 参数会导致找不到/不支持该方法。
这是使用 .NET 4.6.2 并且该类使用 GACUTIL 在 GAC 中注册,并且所有条目都已使用 REGASM 添加到注册表中
arrays - 数组作为过程 vb6 与 vb.net 中的参数
这是 vb6 中的一个过程,它工作正常,就像包含的示例一样:
' Check_UnCheck
' 选中一些复选框的数组,取消选中另一个复选框的数组
' 用法示例:
上述过程在 vb.net 中的等效项是什么,MSDN 文档说:
- 我们不能在一个过程中使用多个参数数组,它必须是过程定义中的最后一个参数。
excel - UDF 中缺少 ParamArray
我试图确定何时在没有提供 ParamArray 参数的工作表上使用了使用 ParamArray 的用户定义函数 (UDF)。
我尝试过 IsEmpty、IsArray、IsError、与无比较、与零长度字符串比较等。
我知道 paramarray 总是 byVal 并且变量数组总是从零开始,但是如果它不存在,它是一个数组吗?
- 将数组的第一个元素与 Nothing 或 Not Nothing 进行比较会引发错误
- IsEmpty 报告错误
- IsArray 奇怪地报告 True
- IsError 对两个测试和测试都报告 False (0)
测试参数 UDF:
在下面的示例中,我只是返回到工作表,尝试访问 ParamArray 返回的内容。
如何确定用户是否没有在需要它们的真实 UDF 中提供 ParamArray 参数?我更喜欢简单的布尔检查,而不是针对测试某事是否什么都不是的测试。
vba - 验证 ParamArray 是否包含正确类型的参数
我正在尝试使用 ParamArray 将不同类型的参数传递给同一个函数以模仿Function Overloading。
- 一单
String
- 一个
Workbook
对象,一个String
以及一个Integer
所以用户可以将不同的参数传递给同一个函数:
Function func(ParamArray params() As Variant)
blah = func("This is a string")
blah = func(wbSource, "SheetName", iRow)
有没有办法验证参数的类型?我需要确保 params() 包含正确类型的参数(一workbook
、一string
和一integer
)。
当然我可以用一堆硬编码If-Else
,但是如果将来有更多的参数怎么办?我正在考虑使用TypeName()
将类型转储到String
数组然后进行比较。但这似乎仍然很麻烦。有没有更好的方法来实现这一目标?
顺便说一句,我认为这不是Optional
一个好主意,因为谁知道会有多少争论?
vba - 找不到 ParamArray 的元素零的行
我有一个数组,在 A 列中列出了不同的文章名称。现在我想将与其中一些文章名称对应的值相加。由于文章名称的数量不是恒定的,因此我将名称作为 ParamArray 传递。
所有这些都适用于 ParamArray 末尾的元素,但是当我尝试查找放置在 ParamArray(0) 中的文章编号的行时,会出现错误消息“对象变量或未设置块变量”。尽管如此,访问 ParamArray(0) 没有问题,但 Vba 拒绝找到相应的行。
这是调用该函数的代码(col_ML 是相加的值的列):
这是函数本身:
我还尝试将 ParamArray 定义为字符串,因为只有字符串会传递给它,但它迫使我将其定义为变体。
excel - 将 UBound 用于 ParamArray 时出现值错误
我正在尝试编写一个函数来计算一个邮政编码到另一个邮政编码的最小距离。该函数应获取一个邮政编码的经度和纬度,然后是一个包含所有邮政编码的经度和纬度信息的二维数组。这是我写的函数:
#Value!
尝试使用此功能时出现错误。我检查了每一步,似乎UBound(varValues(0), 1)
是导致问题的原因。当我尝试UBound(varValues)
返回0
时,我猜它是参数数组的第一维上限?
我不明白为什么UBound(varValues(0), 1)
不起作用。我认为它应该返回我的经度和纬度数组的最后一行编号。