2009-03-26 17 views
5

mam jakiś kod coś takiego:Jak ustawić StreamingContext dla DataContractSerializer?

[DataContract] 
class Foo { 
    [OnSerializing] 
    private void BeforeSerialize(StreamingContext ctx) 
    { 
     ((MtType)ctx.Context).DoStuff() 
    } 

    ... 
} 

var reader = new XmlTextReader(filename); 
var serializer = new DataContractSerializer(typeof(Type)); 
Type type = (Type)serializer.ReadObject(reader); 

i muszę dostarczyć strukturę StreamingContext. Znalazłem several references, że można to zrobić dla NetDataContractSerializer, ale nie dla DataContractSerializer.

  • Czy istnieje sposób, aby to zadziałało?
  • Czy robię to po prostu źle?

Odpowiedz

0

Korzystanie z IDataContractSurrogate pozwala na niestandardową serializację i deserializację JSON dla poszczególnych typów lub obiektów.

Wyświetl dokumentację interfejsu API w wersji IDataContractSurrogate Methods, a dla próbki zobacz DataContract Surrogate.

Ponadto, aby odczytać i zinterpretować JSON, należy zacząć od JsonReaderWriterFactory, a nie fabryki XML. Zobacz JsonReaderWriterFactory Class, aby zobaczyć, co mam na myśli.

Mam nadzieję, że to pomoże!

Powiązane problemy