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
- StartFileNameEditor.cs
- _FixedSizeReader.cs
- SecurityHeader.cs
- TreeNodeEventArgs.cs
- UrlMapping.cs
- XmlSchemaAnnotation.cs
- InfoCardConstants.cs
- NullableDoubleMinMaxAggregationOperator.cs
- BindingGroup.cs
- SqlDataSourceCommandEventArgs.cs
- EntityObject.cs
- Html32TextWriter.cs
- DefaultTextStoreTextComposition.cs
- FormsAuthenticationTicket.cs
- DateTimeParse.cs
- arclist.cs
- LinqDataSourceInsertEventArgs.cs
- XpsFixedPageReaderWriter.cs
- RowSpanVector.cs
- PrintingPermission.cs
- ResourceDescriptionAttribute.cs
- ScriptManager.cs
- DictionarySurrogate.cs
- MetadataArtifactLoaderCompositeResource.cs
- DateTimeConverter.cs
- UnmanagedBitmapWrapper.cs
- Gdiplus.cs
- AdornerHitTestResult.cs
- WebServiceHostFactory.cs
- RequestCachingSection.cs
- tabpagecollectioneditor.cs
- ObjectDataSourceDisposingEventArgs.cs
- OdbcCommandBuilder.cs
- SubstitutionDesigner.cs
- RepeatBehaviorConverter.cs
- XmlAttributeCollection.cs
- ExpressionPrefixAttribute.cs
- ProxyWebPart.cs
- Viewport3DVisual.cs
- String.cs
- LinqDataSourceContextEventArgs.cs
- ListViewItem.cs
- StretchValidation.cs
- ZipIOLocalFileHeader.cs
- ConsumerConnectionPointCollection.cs
- SQLInt64Storage.cs
- PageRanges.cs
- LinqDataSourceUpdateEventArgs.cs
- TableRow.cs
- SimpleBitVector32.cs
- FlowchartStart.xaml.cs
- cryptoapiTransform.cs
- IgnoreSectionHandler.cs
- CommentEmitter.cs
- DirtyTextRange.cs
- QilName.cs
- Viewport3DVisual.cs
- FormatterConverter.cs
- TrackingDataItem.cs
- SolidColorBrush.cs
- PageRanges.cs
- DoubleLinkListEnumerator.cs
- HashJoinQueryOperatorEnumerator.cs
- XXXOnTypeBuilderInstantiation.cs
- ArraySubsetEnumerator.cs
- Part.cs
- HttpClientChannel.cs
- RegionInfo.cs
- XPathDocument.cs
- AnimationStorage.cs
- BitmapEffectGroup.cs
- ButtonBase.cs
- UniqueTransportManagerRegistration.cs
- WizardForm.cs
- EdmProperty.cs
- Button.cs
- SystemIPInterfaceProperties.cs
- ClientSettingsProvider.cs
- ContractInstanceProvider.cs
- DataGridRowDetailsEventArgs.cs
- Rect3D.cs
- MailAddress.cs
- InternalCache.cs
- MaskedTextBoxDesigner.cs
- KeyValueSerializer.cs
- UnsafeNativeMethods.cs
- DSASignatureFormatter.cs
- WindowsScrollBarBits.cs
- SuspendDesigner.cs
- HierarchicalDataBoundControl.cs
- GridViewColumn.cs
- WebResourceAttribute.cs
- DataGridAutoFormatDialog.cs
- TimeoutException.cs
- HighlightComponent.cs
- PropertyTabChangedEvent.cs
- DesignerForm.cs
- FlowDocumentPaginator.cs
- ScopelessEnumAttribute.cs
- EventPrivateKey.cs