Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / System / Windows / Markup / XamlWriter.cs / 1305600 / XamlWriter.cs
//---------------------------------------------------------------------------- // // File: XamlWriter.cs // // Description: // base Parser class that parses XML markup into an Avalon Element Tree // // // History: // 6/06/01: rogerg Created as Parser.cs // 5/29/03: peterost Ported to wcp as Parser.cs // 8/04/05: a-neabbu Split Parser into XamlReader and XamlWriter // // Copyright (C) 2003 by Microsoft Corporation. All rights reserved. // //--------------------------------------------------------------------------- using System; using System.Xml; using System.IO; using System.IO.Packaging; using System.Windows; using System.Collections; using System.Diagnostics; using System.Reflection; using System.Windows.Threading; using MS.Utility; using System.Security; using System.Security.Permissions; using System.Security.Policy; using System.Text; using System.ComponentModel.Design.Serialization; using System.Globalization; using System.Windows.Markup.Primitives; using MS.Internal.IO.Packaging; using MS.Internal.PresentationFramework; namespace System.Windows.Markup { ////// Parsing class used to create an Windows Presentation Platform Tree /// public static class XamlWriter { #region Public Methods ////// Save gets the xml respresentation /// for the given object instance /// /// /// Object instance /// ////// XAML string representing object instance /// ////// We only allow Serialization in partial trust. Although we would throw an exception later anyways, /// we throw one here so we know where to expect the exception. ( public static string Save(object obj) { // Must be in full trust SecurityHelper.DemandUnmanagedCode(); // Validate input arguments if (obj == null) { throw new ArgumentNullException("obj"); } // Create TextWriter StringBuilder sb = new StringBuilder(); TextWriter writer = new StringWriter(sb, TypeConverterHelper.InvariantEnglishUS); try { Save(obj, writer); } finally { // Close writer writer.Close(); } return sb.ToString(); } /// /// Save writes the xml respresentation /// for the given object instance using the given writer /// /// /// Object instance /// /// /// Text Writer /// ////// We only allow Serialization in partial trust. Although we would throw an exception later anyways, /// we throw one here so we know where to expect the exception. ( public static void Save(object obj, TextWriter writer) { // Must be in full trust SecurityHelper.DemandUnmanagedCode(); // Validate input arguments if (obj == null) { throw new ArgumentNullException("obj"); } if (writer == null) { throw new ArgumentNullException("writer"); } // Create XmlTextWriter XmlTextWriter xmlWriter = new XmlTextWriter(writer); MarkupWriter.SaveAsXml(xmlWriter, obj); } /// /// Save writes the xml respresentation /// for the given object instance to the given stream /// /// /// Object instance /// /// /// Stream /// ////// We only allow Serialization in partial trust. Although we would throw an exception later anyways, /// we throw one here so we know where to expect the exception. ( public static void Save(object obj, Stream stream) { // Must be in full trust SecurityHelper.DemandUnmanagedCode(); // Validate input arguments if (obj == null) { throw new ArgumentNullException("obj"); } if (stream == null) { throw new ArgumentNullException("stream"); } // Create XmlTextWriter XmlTextWriter xmlWriter = new XmlTextWriter(stream, null); MarkupWriter.SaveAsXml(xmlWriter, obj); } /// /// Save writes the xml respresentation /// for the given object instance using the given /// writer. In addition it also allows the designer /// to participate in this conversion. /// /// /// Object instance /// /// /// XmlWriter /// ////// We only allow Serialization in partial trust. Although we would throw an exception later anyways, /// we throw one here so we know where to expect the exception. ( public static void Save(object obj, XmlWriter xmlWriter) { // Must be in full trust SecurityHelper.DemandUnmanagedCode(); // Validate input arguments if (obj == null) { throw new ArgumentNullException("obj"); } if (xmlWriter == null) { throw new ArgumentNullException("xmlWriter"); } try { MarkupWriter.SaveAsXml(xmlWriter, obj); } finally { xmlWriter.Flush(); } } /// /// Save writes the xml respresentation /// for the given object instance using the /// given XmlTextWriter embedded in the manager. /// /// /// Object instance /// /// /// Serialization Manager /// ////// We only allow Serialization in partial trust. Although we would throw an exception later anyways, /// we throw one here so we know where to expect the exception. ( public static void Save(object obj, XamlDesignerSerializationManager manager) { // Must be in full trust SecurityHelper.DemandUnmanagedCode(); // Validate input arguments if (obj == null) { throw new ArgumentNullException("obj"); } if (manager == null) { throw new ArgumentNullException("manager"); } MarkupWriter.SaveAsXml(manager.XmlWriter, obj, manager); } #endregion Public 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
- BuilderElements.cs
- ExtendedProperty.cs
- X509ClientCertificateAuthenticationElement.cs
- WindowsFormsSynchronizationContext.cs
- DesignerEditorPartChrome.cs
- DispatcherOperation.cs
- WebControlAdapter.cs
- sqlnorm.cs
- XmlObjectSerializerReadContextComplex.cs
- TextEffectResolver.cs
- WebPartManagerInternals.cs
- HttpCookiesSection.cs
- DemultiplexingClientMessageFormatter.cs
- MetadataArtifactLoaderFile.cs
- ServicePointManagerElement.cs
- ScrollBar.cs
- SizeChangedInfo.cs
- MetabaseSettingsIis7.cs
- FormClosedEvent.cs
- ResourceDefaultValueAttribute.cs
- DocumentXmlWriter.cs
- Messages.cs
- HttpCacheParams.cs
- GridViewCancelEditEventArgs.cs
- OciHandle.cs
- Mappings.cs
- FixedSOMImage.cs
- InfoCardBinaryReader.cs
- Context.cs
- ProcessStartInfo.cs
- TaskExceptionHolder.cs
- shaperfactoryquerycachekey.cs
- XmlSchemaAttributeGroupRef.cs
- NavigateEvent.cs
- TargetControlTypeCache.cs
- CompilationRelaxations.cs
- SessionState.cs
- MessageAction.cs
- UTF32Encoding.cs
- OutputCacheProfileCollection.cs
- SiteMapNode.cs
- TrackPointCollection.cs
- TextSimpleMarkerProperties.cs
- TableLayoutRowStyleCollection.cs
- PerformanceCounterPermissionAttribute.cs
- StyleHelper.cs
- InstanceOwner.cs
- DefaultHttpHandler.cs
- ThreadPool.cs
- XamlSerializationHelper.cs
- dsa.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- VisualProxy.cs
- GroupItem.cs
- DispatcherEventArgs.cs
- CounterCreationDataCollection.cs
- DbConnectionHelper.cs
- PerfService.cs
- TypeResolvingOptions.cs
- DocumentScope.cs
- EntryIndex.cs
- ProfilePropertySettings.cs
- TypographyProperties.cs
- SignatureGenerator.cs
- DataGridViewButtonCell.cs
- XamlDesignerSerializationManager.cs
- CharEntityEncoderFallback.cs
- KeyedHashAlgorithm.cs
- UpdatePanelControlTrigger.cs
- DisplayMemberTemplateSelector.cs
- Accessible.cs
- BitVector32.cs
- TextEditor.cs
- ACE.cs
- SplineKeyFrames.cs
- DataListItemCollection.cs
- SinglePageViewer.cs
- WebPartManager.cs
- NativeObjectSecurity.cs
- IntPtr.cs
- SmtpSection.cs
- JoinSymbol.cs
- ToolStripDropDownItem.cs
- CodeDirectiveCollection.cs
- DataObjectSettingDataEventArgs.cs
- EntityDataSourceState.cs
- WhitespaceRuleLookup.cs
- UnhandledExceptionEventArgs.cs
- HttpServerUtilityBase.cs
- TCPClient.cs
- LexicalChunk.cs
- SqlDataSourceCommandParser.cs
- RangeBase.cs
- DeriveBytes.cs
- DropAnimation.xaml.cs
- AbstractSvcMapFileLoader.cs
- TypeBuilderInstantiation.cs
- TypeValidationEventArgs.cs
- TableParagraph.cs
- StringUtil.cs