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
- GeneralTransform2DTo3D.cs
- ExtensionWindowHeader.cs
- TimeoutValidationAttribute.cs
- NegotiateStream.cs
- FileDialogCustomPlacesCollection.cs
- ZipIOZip64EndOfCentralDirectoryBlock.cs
- InvalidComObjectException.cs
- DependencyProperty.cs
- StrongNamePublicKeyBlob.cs
- FilterEventArgs.cs
- _FtpDataStream.cs
- SubclassTypeValidator.cs
- ProxyWebPartManager.cs
- TypedRowHandler.cs
- FixedTextView.cs
- XmlStringTable.cs
- Add.cs
- DrawingState.cs
- SecurityKeyIdentifier.cs
- StreamGeometryContext.cs
- columnmapkeybuilder.cs
- COM2ExtendedTypeConverter.cs
- DesignerObjectListAdapter.cs
- ToolStripContainer.cs
- XPathSelfQuery.cs
- SByte.cs
- WebZone.cs
- SmiConnection.cs
- SafePEFileHandle.cs
- PerfCounters.cs
- DataConnectionHelper.cs
- TextFormatterContext.cs
- ComponentEvent.cs
- RequestQueryParser.cs
- RangeContentEnumerator.cs
- PartialCachingAttribute.cs
- WindowVisualStateTracker.cs
- UnsafeNativeMethodsPenimc.cs
- DelayedRegex.cs
- SafeSecurityHandles.cs
- ExchangeUtilities.cs
- HostingEnvironment.cs
- XmlSubtreeReader.cs
- XmlTextWriter.cs
- XmlWrappingReader.cs
- ConfigXmlAttribute.cs
- CommentEmitter.cs
- TextEditorSelection.cs
- PolyLineSegment.cs
- GeneralEndpointIdentity.cs
- XPathDocument.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- SimpleMailWebEventProvider.cs
- TimeoutException.cs
- TypeDescriptionProviderAttribute.cs
- MethodAccessException.cs
- ScrollChrome.cs
- HtmlInputButton.cs
- RectAnimationClockResource.cs
- Panel.cs
- CompilerParameters.cs
- GeometryCollection.cs
- TrackingStringDictionary.cs
- ResXDataNode.cs
- GeneralTransformGroup.cs
- GuidelineCollection.cs
- InfoCardRSAPKCS1KeyExchangeFormatter.cs
- Function.cs
- XsltSettings.cs
- X509CertificateChain.cs
- GeometryConverter.cs
- IDQuery.cs
- StringAnimationBase.cs
- DispatcherTimer.cs
- NTAccount.cs
- EpmTargetPathSegment.cs
- HtmlControlPersistable.cs
- Win32SafeHandles.cs
- SymbolType.cs
- MemberMaps.cs
- DropDownList.cs
- FilterElement.cs
- InputBinding.cs
- SchemaDeclBase.cs
- DefaultCompensation.cs
- CellPartitioner.cs
- Pair.cs
- DynamicResourceExtensionConverter.cs
- PersianCalendar.cs
- HtmlTitle.cs
- PerfCounterSection.cs
- HMACSHA512.cs
- DynamicPropertyHolder.cs
- Latin1Encoding.cs
- BamlLocalizableResource.cs
- TabItem.cs
- SystemColorTracker.cs
- EntityClassGenerator.cs
- PrinterSettings.cs
- FrameworkElement.cs