Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Print / Reach / Serialization / manager / ReachPageContentCollectionSerializer.cs / 2 / ReachPageContentCollectionSerializer.cs
/*++ Copyright (C) 2004- 2005 Microsoft Corporation All rights reserved. Module Name: ReachPageContentCollectionSerializer.cs Abstract: This file contains the definition of a class that defines the common functionality required to serialize a PageContentCollection Author: [....] ([....]) 1-December-2004 Revision History: --*/ using System; using System.Collections; using System.Collections.Specialized; using System.ComponentModel; using System.Diagnostics; using System.Reflection; using System.Xml; using System.IO; using System.Security; using System.Security.Permissions; using System.ComponentModel.Design.Serialization; using System.Windows.Xps.Packaging; using System.Windows.Documents; using System.Windows.Media; using System.Windows.Markup; namespace System.Windows.Xps.Serialization { ////// Class defining common functionality required to /// serialize a PageContentCollectionSerializer. /// internal class ReachPageContentCollectionSerializer : ReachSerializer { #region Constructor ////// Constructor for class ReachPageContentCollectionSerializer /// /// /// The serialization manager, the services of which are /// used later in the serialization process of the type. /// public ReachPageContentCollectionSerializer( PackageSerializationManager manager ): base(manager) { } #endregion Constructor #region Internal Methods ////// The method is called once the object data is discovered at that /// point of the serialization process. /// /// /// The context of the object to be serialized at this time. /// internal override void PersistObjectData( SerializableObjectContext serializableObjectContext ) { if (serializableObjectContext == null) { throw new ArgumentNullException("serializableObjectContext"); } IEnumerable enumerableObject = serializableObjectContext.TargetObject as IEnumerable; if (enumerableObject == null) { throw new XpsSerializationException(ReachSR.Get(ReachSRID.MustBeOfType, "serializableObjectContext.TargetObject", typeof(IEnumerable))); } // // Serialize the PageContent Items contained within the collection // SerializePageContents(serializableObjectContext); } #endregion Internal Methods #region Private Methods ////// This is being called to serialize the Page Content items /// contained within the collection /// /// /// The context of the object to be serialized at this time. /// private void SerializePageContents( SerializableObjectContext serializableObjectContext ) { // // Serialize each PageContent in PageContentColleciton // foreach (object pageContent in (IEnumerable)serializableObjectContext.TargetObject) { if (pageContent != null) { // Serialize the current item SerializePageContent(pageContent); } } } ////// Called to serialize a single PageContent /// /// /// The PageContent to be serialized. /// private void SerializePageContent( object pageContent ) { Toolbox.StartEvent(MS.Utility.EventTraceGuidId.DRXSAVEPAGEGUID); ReachSerializer serializer = SerializationManager.GetSerializer(pageContent); if(serializer!=null) { serializer.SerializeObject(pageContent); } else { throw new XpsSerializationException(ReachSR.Get(ReachSRID.ReachSerialization_NoSerializer)); } Toolbox.EndEvent(MS.Utility.EventTraceGuidId.DRXSAVEPAGEGUID); } #endregion Private Methods }; } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SchemaElementDecl.cs
- GroupByQueryOperator.cs
- FtpWebResponse.cs
- BindToObject.cs
- EdmProperty.cs
- ContentDisposition.cs
- ProxyManager.cs
- AdornedElementPlaceholder.cs
- TextElementCollection.cs
- MenuEventArgs.cs
- SubpageParaClient.cs
- SchemaNamespaceManager.cs
- ColorTransform.cs
- ToolstripProfessionalRenderer.cs
- DynamicRenderer.cs
- TemplatingOptionsDialog.cs
- ObjectStateEntryDbUpdatableDataRecord.cs
- ConstraintStruct.cs
- Span.cs
- XPathExpr.cs
- HTTPNotFoundHandler.cs
- BamlRecordWriter.cs
- XPathSelectionIterator.cs
- CodeGen.cs
- OdbcInfoMessageEvent.cs
- CqlBlock.cs
- RegexBoyerMoore.cs
- DataGridViewLayoutData.cs
- TextEditorTyping.cs
- Mapping.cs
- ListCollectionView.cs
- TransformBlockRequest.cs
- Bits.cs
- EntityDataSourceEntityTypeFilterConverter.cs
- COM2ColorConverter.cs
- TableItemPattern.cs
- SlotInfo.cs
- HostedTransportConfigurationBase.cs
- TextBounds.cs
- TableParaClient.cs
- SystemWebSectionGroup.cs
- DataGridViewRowsAddedEventArgs.cs
- SortDescription.cs
- TextTreeText.cs
- StoreAnnotationsMap.cs
- ObjectDataSourceStatusEventArgs.cs
- OptimalBreakSession.cs
- Image.cs
- TimerEventSubscription.cs
- RootProfilePropertySettingsCollection.cs
- TagPrefixCollection.cs
- PointLight.cs
- AnchoredBlock.cs
- FixedDocument.cs
- MulticastIPAddressInformationCollection.cs
- WinCategoryAttribute.cs
- ConsoleTraceListener.cs
- ResizeBehavior.cs
- MessageHeaderDescriptionCollection.cs
- UriTemplateEquivalenceComparer.cs
- TextServicesProperty.cs
- InternalConfigSettingsFactory.cs
- BinaryConverter.cs
- wmiprovider.cs
- _ProxyChain.cs
- MediaPlayer.cs
- Vector3DAnimationUsingKeyFrames.cs
- ListViewHitTestInfo.cs
- InfoCardBinaryReader.cs
- WbemProvider.cs
- BitmapEditor.cs
- UrlMappingsModule.cs
- InvalidateEvent.cs
- Operator.cs
- Storyboard.cs
- InProcStateClientManager.cs
- RijndaelManaged.cs
- FileDialog.cs
- DataGridViewComboBoxEditingControl.cs
- Transform.cs
- SerializationAttributes.cs
- IgnoreSectionHandler.cs
- CompilerInfo.cs
- SequentialActivityDesigner.cs
- CellIdBoolean.cs
- ZipIOBlockManager.cs
- TableItemPattern.cs
- ManagementEventArgs.cs
- WsdlInspector.cs
- SecurityUtils.cs
- Console.cs
- Documentation.cs
- PerfCounters.cs
- ImageBrush.cs
- StrongNameKeyPair.cs
- CharacterString.cs
- HelpInfo.cs
- MimeBasePart.cs
- MetaType.cs
- ManagementDateTime.cs