vb.net Коллекция переменных - PullRequest
       0

vb.net Коллекция переменных

0 голосов
/ 07 декабря 2018

Как мне заархивировать что-то вроде ниже?
Я хочу иметь возможность перебирать 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

1 Ответ

0 голосов
/ 07 декабря 2018

Я нашел решение, которое соответствует моим требованиям

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...