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
![Network programming in C#, Network Programming in VB.NET, Network Programming in .NET](/images/book.jpg)
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ValueUnavailableException.cs
- complextypematerializer.cs
- BitmapEffectState.cs
- InsufficientMemoryException.cs
- Memoizer.cs
- MultiSelector.cs
- RemotingConfigParser.cs
- ELinqQueryState.cs
- Condition.cs
- Baml2006SchemaContext.cs
- WindowAutomationPeer.cs
- InputGestureCollection.cs
- PrintPreviewControl.cs
- RegexGroup.cs
- XmlAutoDetectWriter.cs
- TreeViewAutomationPeer.cs
- WindowsFormsLinkLabel.cs
- StrokeRenderer.cs
- SID.cs
- MD5.cs
- ListMarkerSourceInfo.cs
- PageBuildProvider.cs
- StorageAssociationSetMapping.cs
- XmlSerializerNamespaces.cs
- EmptyWithCancelationCheckWorkItem.cs
- ResourceDescriptionAttribute.cs
- XmlnsCompatibleWithAttribute.cs
- KeyEventArgs.cs
- IndentedTextWriter.cs
- XhtmlConformanceSection.cs
- NTAccount.cs
- TextModifierScope.cs
- CookieProtection.cs
- IconHelper.cs
- FocusManager.cs
- CreateUserErrorEventArgs.cs
- DataControlFieldHeaderCell.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- _HTTPDateParse.cs
- ProcessModelInfo.cs
- CSharpCodeProvider.cs
- ReadOnlyMetadataCollection.cs
- CharEntityEncoderFallback.cs
- MatrixTransform3D.cs
- ComboBoxRenderer.cs
- CodeIterationStatement.cs
- TableAutomationPeer.cs
- TextTreeDeleteContentUndoUnit.cs
- XmlQuerySequence.cs
- WebServiceResponseDesigner.cs
- DLinqColumnProvider.cs
- ToolboxComponentsCreatingEventArgs.cs
- WindowsTooltip.cs
- ApplicationServiceManager.cs
- NetworkStream.cs
- StateMachineWorkflowDesigner.cs
- DataListComponentEditor.cs
- PerfCounters.cs
- VectorAnimation.cs
- AudioFormatConverter.cs
- SocketAddress.cs
- WmlObjectListAdapter.cs
- ListItemCollection.cs
- ImageSourceValueSerializer.cs
- NotifyCollectionChangedEventArgs.cs
- InfiniteIntConverter.cs
- DesignerView.Commands.cs
- SqlBuilder.cs
- sitestring.cs
- _ServiceNameStore.cs
- ASCIIEncoding.cs
- TemplateColumn.cs
- Stackframe.cs
- DesignerFrame.cs
- DataGridItemEventArgs.cs
- CodeMemberMethod.cs
- DataGridPagingPage.cs
- HttpRequest.cs
- HebrewCalendar.cs
- DataTableReader.cs
- TableLayoutPanel.cs
- StreamWithDictionary.cs
- panel.cs
- SqlMethodTransformer.cs
- WsdlBuildProvider.cs
- CombinedGeometry.cs
- SqlVersion.cs
- CanonicalizationDriver.cs
- CRYPTPROTECT_PROMPTSTRUCT.cs
- QilExpression.cs
- HelpFileFileNameEditor.cs
- SettingsPropertyIsReadOnlyException.cs
- LiteralLink.cs
- ContractInferenceHelper.cs
- XmlSchemaAttributeGroupRef.cs
- GlyphShapingProperties.cs
- OrderByQueryOptionExpression.cs
- SplayTreeNode.cs
- HostedAspNetEnvironment.cs
- ChangeNode.cs