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
- TimeSpanSecondsOrInfiniteConverter.cs
- Authorization.cs
- NavigatorOutput.cs
- UIElement3DAutomationPeer.cs
- ConcurrentStack.cs
- RectangleGeometry.cs
- SchemaImporterExtensionElement.cs
- Icon.cs
- X509IssuerSerialKeyIdentifierClause.cs
- MobileControlsSection.cs
- TabPage.cs
- FileDialog.cs
- DateTimeConverter.cs
- StandardMenuStripVerb.cs
- CodeConditionStatement.cs
- Comparer.cs
- LineSegment.cs
- UnaryExpression.cs
- EnlistmentState.cs
- WorkflowLayouts.cs
- MatrixTransform3D.cs
- Transform3DGroup.cs
- Transform3D.cs
- ServiceProviders.cs
- GraphicsContext.cs
- DataError.cs
- sqlnorm.cs
- ServiceInfo.cs
- TypeFieldSchema.cs
- Configuration.cs
- DynamicDiscoSearcher.cs
- XmlDataDocument.cs
- Point4D.cs
- MemoryFailPoint.cs
- ReadOnlyPropertyMetadata.cs
- ShapeTypeface.cs
- CodeParameterDeclarationExpression.cs
- ParameterToken.cs
- DataRow.cs
- MouseEvent.cs
- SerializerDescriptor.cs
- SimpleMailWebEventProvider.cs
- Permission.cs
- XmlProcessingInstruction.cs
- LabelEditEvent.cs
- ListBase.cs
- EventHandlersStore.cs
- AQNBuilder.cs
- Invariant.cs
- MSAAWinEventWrap.cs
- StartUpEventArgs.cs
- HtmlTextArea.cs
- BigInt.cs
- ComponentEditorForm.cs
- DataControlField.cs
- VisualProxy.cs
- Span.cs
- PingOptions.cs
- SamlConstants.cs
- relpropertyhelper.cs
- StringCollection.cs
- SettingsProviderCollection.cs
- DoubleAnimationUsingPath.cs
- OrderingInfo.cs
- VariableQuery.cs
- ThreadSafeList.cs
- WindowsGrip.cs
- XmlC14NWriter.cs
- DSASignatureFormatter.cs
- XhtmlBasicValidationSummaryAdapter.cs
- Group.cs
- ReadOnlyTernaryTree.cs
- CreateUserErrorEventArgs.cs
- DetailsViewDeletedEventArgs.cs
- XmlComplianceUtil.cs
- CompilationRelaxations.cs
- SizeFConverter.cs
- Tablet.cs
- ConnectionPoolManager.cs
- EntityAdapter.cs
- HTTPRemotingHandler.cs
- ObjRef.cs
- TimestampInformation.cs
- SoapAttributeAttribute.cs
- MetadataSource.cs
- TriggerActionCollection.cs
- FormViewInsertEventArgs.cs
- RTTrackingProfile.cs
- BufferedGraphics.cs
- ISO2022Encoding.cs
- RunClient.cs
- HandlerMappingMemo.cs
- DetailsView.cs
- ProtocolsConfigurationHandler.cs
- TextPointer.cs
- ConversionHelper.cs
- ConcatQueryOperator.cs
- IISMapPath.cs
- DbModificationClause.cs
- OrderToken.cs