Hallo,
ich wollte gerade spaßeshalber eine kleine Klasse schreiben, welche unkompliziert gewünschte Einstellungen im Programm speichern und und wieder laden kann (da My.Settings nicht flexibel genug sind)
Leider scheitert es an einer guten Alternative zu ByRef ParamArray, was ja nicht (mehr) zulässig ist. Vielleicht hat einer ja eine Idee.
MfG
Mikro Fahrrad
ich wollte gerade spaßeshalber eine kleine Klasse schreiben, welche unkompliziert gewünschte Einstellungen im Programm speichern und und wieder laden kann (da My.Settings nicht flexibel genug sind)
Leider scheitert es an einer guten Alternative zu ByRef ParamArray, was ja nicht (mehr) zulässig ist. Vielleicht hat einer ja eine Idee.
MfG
Mikro Fahrrad
VB.NET-Quellcode
- Public NotInheritable Class Settings
- Private Sub New()
- End Sub
- Private Shared _Path As String = My.Computer.FileSystem.SpecialDirectories.CurrentUserApplicationData & "\settings.ini"
- Public Shared Property Path() As String
- Get
- Return _Path
- End Get
- Set(ByVal Value As String)
- If My.Computer.FileSystem.FileExists(Value) OrElse My.Computer.FileSystem.DirectoryExists(My.Computer.FileSystem.GetParentPath(Value)) Then
- _Path = Value
- End If
- End Set
- End Property
- Public Shared Function Save(ByVal ParamArray values() As Object) As Boolean
- Try
- Dim Write As IO.StreamWriter = New IO.StreamWriter(Path)
- For i = 0 To values.Count - 1
- Write.WriteLine(values(i).ToString)
- Next
- Write.Close()
- Return True
- Catch ex As Exception
- Return False
- End Try
- End Function
- Public Shared Function Load(ByRef ParamArray values() As Object) As Boolean
- Try
- If Not My.Computer.FileSystem.FileExists(Path) Then Return False
- Dim Read() As String = IO.File.ReadAllLines(Path)
- For i = 0 To values.Count - 1
- values(i) = CTypeDynamic(Read(i), values(i).GetType())
- Next
- Return True
- Catch ex As Exception
- Return False
- End Try
- End Function
- End Class
„Was ich gerade mache? Ich reite Hand in Hand mit dem Matthäus-Effekt auf einer Exponentialfunktion.“