Próbuję wyprowadzić klasę z ObservableCollection i potrzebuję uruchomić tylko jedną linię kodu za każdym razem, gdy jakakolwiek instancja tej klasy jest deserializowana. Myślałem o tym:Jak mogę uruchomić kod w definicji klasy C# za każdym razem, gdy jakakolwiek instancja klasy jest deserialized?
[Serializable]
public class ObservableCollection2<T> : ObservableCollection<T>, ISerializable
{
public ObservableCollection2()
: base()
{ }
public ObservableCollection2(SerializationInfo info, StreamingContext context)
: base(info, context)
{
// Put additional code here.
}
void ISerializable.GetObjectData(SerializationInfo info, StreamingContext context)
{
base.GetObjectData(info, context);
}
}
Ale nie mam dostępu do tych podstawowych metod związanych z serializacją. Czy jestem zmuszony ręcznie przepisać wszystkie serializacje?
Powinieneś naprawdę wskazać * jak * serializujesz; istnieje wiele interfejsów API do szeregowania wbudowanego i 3rd party, a każdy z nich obsługuje różne wzorce/użycie. –
Dobra uwaga. Korzystam z wbudowanej serializacji binarnej .NET. –