【发布时间】:2013-01-16 14:57:55
【问题描述】:
我一直在查看旧代码以熟悉我使用的系统,并发现了一段我觉得可以更好地使用的代码。
这里发生的是一些数据被添加到集合中(大约 150 个字符串变量,一些有两个变量(variableName/VariableValue),大多数只有一个(VariableName))。它将尝试将模块级别的字符串变量设置为集合的项目,然后将索引(变量名称)传递给它,然后如果有一个值将 VariableVALue 设置为模块级别的变量。
我觉得需要做的是,如果集合被传递了一个变量并且该变量没有值,它将返回一个“”,这将导致运行时错误,因此有一个 On Error GoTo Handler 代码来手动添加一个"" 到集合。我觉得有更好的方法来做到这一点,而不是知道会有一个运行时问题然后在捕获它之后解决它。有没有办法让 return "" 不抛出异常,或者使用 Array 也可以在这里工作,因为它也是一个“集合”?
这是一个尝试帮助可视化的示例:
Public Function GetCollectionVariable(ByVal varName as string) as String
If collection1 Is Nothing Then
m_collection1 = New Collection
End If
On Error GoTo Handler
GetCollectionVariable = collection1.Item(VarName)
exit function
Handler:
collection1.add("", VarName)
GetCollectionVariable = ""
End FUnction
感谢您的宝贵时间!!
【问题讨论】:
-
collection1是什么类型?
-
集合被声明为 dim collection1 As Collection
-
Collection 不是具体类型,您的代码是否创建了该集合?您创建的具体类型是什么?
标签: vb.net winforms exception collections