Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Framework / System / Windows / Markup / XamlWriter.cs / 1 / 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: [....] Ported to wcp as Parser.cs // 8/04/05: [....] 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, XamlSerializerUtil.EnglishUSCulture); 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
- SafeProcessHandle.cs
- DataGridCell.cs
- AddressHeader.cs
- NonBatchDirectoryCompiler.cs
- DesignTimeVisibleAttribute.cs
- _LocalDataStoreMgr.cs
- PersonalizationStateInfo.cs
- DPCustomTypeDescriptor.cs
- OperandQuery.cs
- IsolatedStorageException.cs
- NameValuePermission.cs
- LocatorPart.cs
- Parser.cs
- ColorContextHelper.cs
- WebPartCatalogCloseVerb.cs
- nulltextnavigator.cs
- RequestQueue.cs
- SerializationUtilities.cs
- TypeTypeConverter.cs
- SqlDependencyUtils.cs
- TransportDefaults.cs
- Int32AnimationUsingKeyFrames.cs
- XsltFunctions.cs
- AssemblyInfo.cs
- UIPermission.cs
- NativeMethods.cs
- ProxyFragment.cs
- CompilerParameters.cs
- XmlAutoDetectWriter.cs
- CellPartitioner.cs
- BooleanAnimationBase.cs
- CombinedGeometry.cs
- FormViewInsertedEventArgs.cs
- TreeNodeBinding.cs
- NullableLongSumAggregationOperator.cs
- BigInt.cs
- GridViewDesigner.cs
- HiddenFieldPageStatePersister.cs
- RadialGradientBrush.cs
- KeyGesture.cs
- MenuItem.cs
- BaseServiceProvider.cs
- GroupByQueryOperator.cs
- GrammarBuilderBase.cs
- DataListAutoFormat.cs
- Duration.cs
- ListViewGroupConverter.cs
- StateItem.cs
- PackagePartCollection.cs
- MetadataUtilsSmi.cs
- IndentedTextWriter.cs
- WriteableOnDemandStream.cs
- ContentDisposition.cs
- XamlSerializationHelper.cs
- BoundField.cs
- sqlstateclientmanager.cs
- PassportIdentity.cs
- HMACMD5.cs
- XmlnsCache.cs
- DataGridViewRowHeightInfoNeededEventArgs.cs
- EntityDataSourceWrapperCollection.cs
- OracleCommand.cs
- CapacityStreamGeometryContext.cs
- SemanticResolver.cs
- DeviceContext.cs
- XPathItem.cs
- SpellerHighlightLayer.cs
- querybuilder.cs
- ProfileService.cs
- SizeChangedEventArgs.cs
- ListViewSortEventArgs.cs
- StateMachineDesignerPaint.cs
- XPathQilFactory.cs
- mda.cs
- ToolStripDesignerAvailabilityAttribute.cs
- Qualifier.cs
- ChangeTracker.cs
- WebServiceTypeData.cs
- HtmlImage.cs
- DataGridViewButtonCell.cs
- MouseWheelEventArgs.cs
- DesignTimeParseData.cs
- XmlAnyElementAttribute.cs
- GeometryModel3D.cs
- ExtenderProvidedPropertyAttribute.cs
- CreateParams.cs
- PageTheme.cs
- ResourceAttributes.cs
- SafeProcessHandle.cs
- UnitySerializationHolder.cs
- TrackingValidationObjectDictionary.cs
- SynchronousReceiveBehavior.cs
- CopyOfAction.cs
- StylusButton.cs
- Translator.cs
- Pens.cs
- SortQuery.cs
- documentation.cs
- ExtendedProperty.cs
- XmlAttributes.cs