vb.net - vb.net 变量集合
问题描述
如何归档如下内容?
我希望能够遍历in但仍然可以像我在->中所做Collection
的那样直接“访问”变量PartPrograms
Send()
Generate()
(Program."VariableName".data).
Public Class ProgramManager
Private Program As New CavityProgram
Sub Generate()
Program.MainProg.data = GetDataFunction() 'fill with data
Program.MainProg.path = "C:\Foo.txt"
[...]
End Sub
Sub Send()
For Each prog In Program 'which collection do i need to do THIS
System.IO.File.WriteAllText(prog.path, prog.data)
Next
End Sub
End Class
Public Class CavityProgram
Public MainProg As PartProgram
Public Parameter As PartProgram
Public Molding As PartProgram
'Collection which stores all PartPrograms
End Class
Public Structure PartProgram 'data object
Public path As String
Public data As String
End Structure
解决方案
我找到了符合我要求的解决方案
Public Class ProgramManager
Public Programs As New List(Of PartProgram) 'Stores all partprograms
Sub Generate()
Programs.Add(New PartProgram With {
.name = "FU2PIECE.MPF",
.data = System.IO.File.ReadAllText(pathTemplate & "\FU2PIECE.MPF", System.Text.Encoding.UTF8) _
.Replace("$DATE$", DateTime.Now.ToString("dd/MM/yy HH:mm:ss")) _
.Replace("$JOBINFO$", sji.ShortJobInfo) _
.Replace("$VERSION$", My.Application.Info.Version.Major & "." & My.Application.Info.Version.Minor)
})
[...]
End Sub
Sub Send()
For Each prog In Me.Programs
System.IO.File.WriteAllText(root & "\" & prog.name, prog.data)
Next
End Sub
推荐阅读
- javascript - 如何在 nativesript radlistview 中使用 scrollToIndex
- java - 在 Java 类中映射嵌套的 JSON 值
- python - 如何使用 Python Selenium 在网站上滚动内部滚动条?
- python - 更快地优化 for 循环
- javascript - Angular 和 Stripe 订阅保存付款细节并创建订阅
- typescript - Typeguard 不会缩小类型
- mysql - 使用连接查找最大值的 SQL 查询
- python - 有没有更快的方法将熊猫数据框分成两个互补的部分?
- javascript - 我们可以比较javascript运行时中的数据类型吗
- swift - 如何在 swift struct/class 类型中支持这种初始化?