[英]vb.net Collection of variables
How do I archive something like below ? 如何归档以下内容?
I want to be able to iterate through the Collection
of PartPrograms
in Send()
but still can directly "access" the variables like I did in Generate()
-> (Program."VariableName".data).
我希望能够遍历
Send()
的PartPrograms
Collection
,但仍然可以像在Generate()
-> (Program."VariableName".data).
一样直接“访问”变量(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
I found a solution that fits my requirements 我找到了适合我要求的解决方案
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.