Serializacja listView

0

Czy jest możliwa serjalizacja obiektu listview?
Próbuje w ten sposób ,ale wywala mi błąd że nie mozna serializowac listview

 
 [Serializable]
     public class Miesiac
{
            public string nazwa {get; set;}
            public string rok { get; set; }
            public string[] a { get; set; }
            public ListView list { get; set; }
            public Miesiac(string name,string year ,string[] l, ListView lista)
            {
                nazwa = name;
                rok = year;
                a = l;
                list = lista;
            }
}
0

Nie powinno się serializować kontrolek GUI, gdyż podczas deserializacji często będzie problem synchronizacji ustawień kontrolki (jak coś zmienisz w trybie design time a zapomnisz jednocześnie zmienić w obiekcie deserializowanym to wywali ci błędy- a często się zapomina). Nie wiem czy to nawet możliwe. Najlepiej jest serializować samą strukturę drzewa czyli robisz sobie klasę MyTreeStructure i dziedziczysz po ListView. Dodatkowo musisz zaimplementować ISerializable. Generalnie ustawienia kontrolki sa ci nie potrzebne, ale jak ci będą potrzebne to taką klasę możesz rozszerzyć o dodatkowe pola.
http://social.msdn.microsoft.com/Forums/en-US/winforms/thread/4a636720-38ff-44e1-8983-b4ac3fafb033/

0
maszynaz napisał(a):

Nie powinno się serializować kontrolek GUI [...] Najlepiej jest serializować samą strukturę drzewa czyli robisz sobie klasę MyTreeStructure i dziedziczysz po ListView.

Najpierw piszesz, że nie powinno się serializować kontrolek GUI, a potem każesz mu zrobić kontrolkę GUI i ją zserializować? Bez sensu.

MajQel napisał(a):

Czy jest możliwa serjalizacja obiektu listview?

Nie, przy użyciu podstawowej implementacji frameworka na szczęście nie jest możliwa. Można się namęczyć i zrobić taki mechanizm, tylko po co ktoś miałby w ogóle chcieć to robić?

Jeśli chcesz zserializować dane, to zserializuj dane, a nie kontrolkę GUI. Kontrolki GUI służą do budowy interfejsu użytkownika, a nie do przechowywania danych.
Po prostu utwórz sobie zestaw klas przechowujących dane w postaci drzewa i je zserializuj.

1 użytkowników online, w tym zalogowanych: 0, gości: 1