SerializePageContents( SerializableObjectContext serializableObjectContext ) { // // Serialize each PageContent in PageContentColleciton // IEnumerator enumerator = ((IEnumerable)serializableObjectContext.TargetObject).GetEnumerator(); enumerator.Reset(); NgcPageContentCollectionSerializerContext context = new NgcPageContentCollectionSerializerContext(this, serializableObjectContext, enumerator, SerializerAction.serializeNextPageContent); ((NgcSerializationManagerAsync)SerializationManager).OperationStack.Push(context); }
SerializeNextPageContent( IEnumerator enumerator, SerializableObjectContext serializableObjectContext ) { if (enumerator.MoveNext()) { NgcPageContentCollectionSerializerContext context = new NgcPageContentCollectionSerializerContext(this, serializableObjectContext, enumerator, SerializerAction.serializeNextPageContent); ((NgcSerializationManagerAsync)SerializationManager).OperationStack.Push(context); object pageContent = enumerator.Current; SerializePageContent(pageContent); } }
AsyncOperation( NGCSerializerContext context ) { if (context == null) { } switch (context.Action) { case SerializerAction.endPersistObjectData: { EndPersistObjectData(); break; } case SerializerAction.serializeNextPageContent: { NgcPageContentCollectionSerializerContext thisContext = context as NgcPageContentCollectionSerializerContext; if (thisContext != null) { SerializeNextPageContent(thisContext.Enumerator, thisContext.ObjectContext); } break; } default: { base.AsyncOperation(context); break; } } }