SerializeUIElements( SerializableObjectContext serializableObjectContext ) { // // Serialize each PageContent in PageContentCollection // IEnumerator enumerator = ((IEnumerable)serializableObjectContext.TargetObject).GetEnumerator(); enumerator.Reset(); NgcUIElementCollectionSerializerContext context = new NgcUIElementCollectionSerializerContext(this, serializableObjectContext, enumerator, SerializerAction.serializeNextUIElement); ((NgcSerializationManagerAsync)SerializationManager).OperationStack.Push(context); }
SerializeNextUIElement( IEnumerator enumerator, SerializableObjectContext serializableObjectContext ) { if (enumerator.MoveNext()) { NgcUIElementCollectionSerializerContext context = new NgcUIElementCollectionSerializerContext(this, serializableObjectContext, enumerator, SerializerAction.serializeNextUIElement); ((NgcSerializationManagerAsync)SerializationManager).OperationStack.Push(context); object uiElement = enumerator.Current; SerializeUIElement(uiElement); } }
AsyncOperation( NGCSerializerContext context ) { if (context == null) { } switch (context.Action) { case SerializerAction.endPersistObjectData: { EndPersistObjectData(); break; } case SerializerAction.serializeNextUIElement: { NgcUIElementCollectionSerializerContext thisContext = context as NgcUIElementCollectionSerializerContext; if (thisContext != null) { SerializeNextUIElement(thisContext.Enumerator, thisContext.ObjectContext); } break; } default: { base.AsyncOperation(context); break; } } }