以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  函数的接口  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=168840)

--  作者:newsun2k
--  发布时间:2021/5/24 14:02:00
--  函数的接口
自定义的函数,能不能用集合或数组做参数?
--  作者:有点蓝
--  发布时间:2021/5/24 14:03:00
--  
可以
--  作者:newsun2k
--  发布时间:2021/5/24 15:18:00
--  
命令窗口执行
------分割线-------
Dim Files As List(of String)
files.Add("abc")
files.Add("efg")
Functions.Execute("abc",files)


以下是函数abc
------分割线-------
Dim kkFiles As List(of String) = args(0)
msgbox(1)
Return True

报错
------分割线-------
---------------------------
版本:2020.5.29.8
---------------------------
代码执行出错,错误信息:



System.NullReferenceException: Object reference not set to an instance of an object.

   at UserCode.Test()
---------------------------
确定   
---------------------------


--  作者:有点蓝
--  发布时间:2021/5/24 15:37:00
--  
Dim Files As new List(of String)
files.Add("abc")

--  作者:newsun2k
--  发布时间:2021/5/24 17:01:00
--  
换成数组呢?
---函数---
Dim kkFiles() As String = args(0)
For Each s As String In kkFiles
    msgbox(s)
Next
Return True

---执行---
Dim Files(3) As String
files(0) = "a"
files(1) = "b"
Functions.Execute("abc",files)



Exception has been thrown by the target of an invocation.
Unable to cast object of type \'System.String\' to type \'System.String[]\'.

--  作者:有点蓝
--  发布时间:2021/5/24 17:05:00
--  
Functions.Execute("abc",files,true)