我正在使用VS 2012。
在我的代码运行时,我无法弄清楚如何动态声明变量。我正在尝试编写一个程序来提取EMS发送到网站的数据。该网站每隔几秒更新一次,并且每个发布的呼叫都有唯一的ID号。我想使用每个调度中的唯一ID号,并使用该唯一ID号声明一个新的事件变量,并将其添加到活动调度的集合中。我唯一想知道的部分是,如何在发布时为每个调度声明一个变量,并用其唯一的ID号命名?
类似的东西:
Structure Incident
Dim id As Integer
Dim numer As String
Dim date1 As String
Dim time As String
Dim box As String
Dim type As String
Dim street As String
Dim crosstreet As String
Dim location As String
Dim announced As Boolean
Dim complete As Boolean
End Structure
UniqueIDstringfromwebsite = "1234"
Dim (code to get variable declared with unique ID as variable name) as incident
这是我的第一篇文章,我不能让codeample在帖子中正常工作。
答案 0 :(得分:1)
您可以使用Dictionary
来识别您的var:
Dim myVar As New Dictionary(Of Integer, Incident)
UniqueIDstringfromwebsite = 1234
myVar.Add(UniqueIDstringfromwebsite, New Incident)
我认为你不能用一个dinamically的值来改变一个变量的名称,而且这个名称在它可能有用时不会得到。
并且,通过这种方式,最好将您的结构变成一个类。
答案 1 :(得分:1)
这是我的第一个答案 - 所以你的公司很好!
您不需要实现类而不是结构 - 这样您就可以实现构造函数。我不认为你想创建一个带有ID作为名称的变量,但你应该将ID添加到dispatches集合中(这可能是一个列表(事件):
e.g。
Public Class Incident
'define private variables
Private _id as integer
Private _number as string
Private _date1 as String
Private _time as String
'etc...
'define public properties
Public Property Number as string
Get
Return _number
End Get
Set (value as string)
_number = value
End Set
End Property
'Repeat for each Public Property
'Implement Constuctor that takes ID
Public Sub New(id as integer)
_id = id
'code here to get incident properties based on id
End Sub
End Class
希望这有帮助!