Hi Ihr Lieben,
ich hab mir ein kleines Tool für die Arbeit geschrieben, anschließend habe ich einen IDataService eingebaut, um die vorhandenen Klassen per Serialisierung zu speichern. Wenn ich das manuell ausführe, funktioniert das auch einwandfrei.
Im Endeffekt suche ich eine Idee, wie ich aus einer Subklasse heraus, die Speicherfunktion ausführen kann, sobald das Programm beendet wird.
die erwähnte Subklasse:
Spoiler anzeigen
Nur leider fehlt mir jede Idee, wie ich das realisieren könnte. Vielleicht habt ihr ja eine? =)
Nachtrag: die einzige Idee, die ich sonst noch hätte, wäre es per Timer zu lösen, aber irgendwie find ich das nicht besonders elegant
ich hab mir ein kleines Tool für die Arbeit geschrieben, anschließend habe ich einen IDataService eingebaut, um die vorhandenen Klassen per Serialisierung zu speichern. Wenn ich das manuell ausführe, funktioniert das auch einwandfrei.
Im Endeffekt suche ich eine Idee, wie ich aus einer Subklasse heraus, die Speicherfunktion ausführen kann, sobald das Programm beendet wird.
die erwähnte Subklasse:
VB.NET-Quellcode
- Imports System.Collections.ObjectModel
- Public Class TicketsViewModel
- Inherits BaseViewModel
- Private TicketCounter As Integer = 0
- Private _ticketsservice As ITicketsDataService
- Public Sub New(service As ITicketsDataService)
- 'OpenTickets = New ObservableCollection(Of TicketViewModel)
- _ticketsservice = service
- OpenTickets = _ticketsservice.GetTickets
- loadTickets()
- If IsInDesignMode() Then
- For I As Integer = 0 To 4
- AddTicket()
- Next
- End If
- End Sub
- Sub loadTickets()
- OpenTickets = _ticketsservice.GetTickets
- End Sub
- Public Sub savetickets()
- _ticketsservice.SaveTickets(OpenTickets)
- End Sub
- Private _OpenTickets As ObservableCollection(Of TicketViewModel)
- Public Property OpenTickets() As ObservableCollection(Of TicketViewModel)
- Get
- Return _OpenTickets
- End Get
- Set(ByVal value As ObservableCollection(Of TicketViewModel))
- ChangePropIfDifferent(value, _OpenTickets)
- End Set
- End Property
- Private _SelectedTicket As TicketViewModel
- Public Property SelectedTicket() As TicketViewModel
- Get
- Return _SelectedTicket
- End Get
- Set(ByVal value As TicketViewModel)
- ChangePropIfDifferent(value, _SelectedTicket)
- End Set
- End Property
- Sub AddTicket()
- OpenTickets.Add(New TicketViewModel(TicketCounter + 1) With {.TicketText = "afgzhubaijfasf"})
- TicketCounter += 1
- End Sub
- Sub RemoveTicket()
- If SelectedTicket IsNot Nothing Then
- OpenTickets.Remove(SelectedTicket)
- End If
- End Sub
- Public ReadOnly Property AddTicketCommand As New RelayCommand(AddressOf AddTicketCommand_Execute)
- Private Sub AddTicketCommand_Execute(obj As Object)
- AddTicket()
- End Sub
- Public ReadOnly Property RemoveTicketCommand As New RelayCommand(AddressOf RemoveTicketCommand_Execute, Function(o) SelectedTicket IsNot Nothing)
- Private Sub RemoveTicketCommand_Execute(obj As Object)
- If MessageBox.Show($"Do you really want to Delete Ticket number {SelectedTicket.NumericalID} from the List?", "Are you sure?", MessageBoxButton.YesNo, MessageBoxImage.Question) <> MessageBoxResult.No Then
- RemoveTicket()
- End If
- End Sub
- End Class
Nur leider fehlt mir jede Idee, wie ich das realisieren könnte. Vielleicht habt ihr ja eine? =)
Nachtrag: die einzige Idee, die ich sonst noch hätte, wäre es per Timer zu lösen, aber irgendwie find ich das nicht besonders elegant
If Energy = Low Then
Drink(aHugeCoffee)
Else
Drink(aHugeCoffeeToo)
End If
Drink(aHugeCoffee)
Else
Drink(aHugeCoffeeToo)
End If
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „asusdk“ ()