Hi ich bin dabei meine eigene ObservableCollection zu bauen die die Funktionalität wie DataTable.GetChanges() anbieten soll nur scheint mir noch das wissen zu fehlen wie ich die Änderungen erstmal richtig speichere um sie dann später auslesen zu können
erste idee war ein Dictionary welches einfach alle Änderungen der Reihenfolge nach speichert um sogar ein Rollback ausführen zu können (lief auch soweit bis auf Modifizierungen rückgängig zu machen (is aber auch erstmal egal)) naja das prob hier is halt das man mit einfachen abfragen z.B
auch elemete bekommt die später wieder gelöscht wurden.
zweite Idee war für jede art von Änderung eine eigene Collection zu machen und dann während des Events zu die Änderung der einen Collection hinzu zu fügen und aus den anderen zu löschen hier find ich kann das dauerhafte iterieren zum Problem werden
dritte Idee ich kombiniere 1. und 2. und erstelle ein
um bei einen Event die Änderungen Objekt genauer bearbeiten zu können
ich hab mir hier schon versucht die Logik dahinter zu verstehen bin aber leider kläglich gescheitert. Könnte mir bitte einer erklären wie das da ganz grob abläuft.
spontane Ideen sind auch gerne gesehen
momentan hab ich
beinhaltet das Element und die art der Modifikation
ist das Dictionary welches ich mit Linq durchsuche
erste idee war ein Dictionary welches einfach alle Änderungen der Reihenfolge nach speichert um sogar ein Rollback ausführen zu können (lief auch soweit bis auf Modifizierungen rückgängig zu machen (is aber auch erstmal egal)) naja das prob hier is halt das man mit einfachen abfragen z.B
Code:
DicOfChanges.Where(x => (x.Value).Modification == CollStat.Added);
zweite Idee war für jede art von Änderung eine eigene Collection zu machen und dann während des Events zu die Änderung der einen Collection hinzu zu fügen und aus den anderen zu löschen hier find ich kann das dauerhafte iterieren zum Problem werden
dritte Idee ich kombiniere 1. und 2. und erstelle ein
Code:
Dictionary<???,List/Dictionary<???>>
ich hab mir hier schon versucht die Logik dahinter zu verstehen bin aber leider kläglich gescheitert. Könnte mir bitte einer erklären wie das da ganz grob abläuft.
spontane Ideen sind auch gerne gesehen
momentan hab ich
Code:
#region nested class private class _ElementKeeper<T> { public T Element; public CollStat Modification; public _ElementKeeper(T element, CollStat Modifi) { Element = element; Modification = Modifi; } } #endregion
Code:
private Dictionary<int, _ElementKeeper<T>> DicOfChanges = new Dictionary<int, _ElementKeeper<T>>();
Comment