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
- MultilineStringConverter.cs
- DrawListViewItemEventArgs.cs
- Rijndael.cs
- TextEffect.cs
- VerificationException.cs
- SQLBytes.cs
- XmlObjectSerializerWriteContextComplexJson.cs
- SpeechSeg.cs
- MetadataLocation.cs
- Subtree.cs
- SchemaLookupTable.cs
- XmlAttributeAttribute.cs
- AsyncContentLoadedEventArgs.cs
- InvalidDataException.cs
- MenuCommand.cs
- SecurityRuntime.cs
- WindowsSolidBrush.cs
- UnmanagedMemoryStream.cs
- TreeIterators.cs
- TemplateApplicationHelper.cs
- HtmlShim.cs
- smtpconnection.cs
- NavigationWindowAutomationPeer.cs
- ByteStack.cs
- CannotUnloadAppDomainException.cs
- BidirectionalDictionary.cs
- VirtualPathData.cs
- CompatibleIComparer.cs
- SelectedDatesCollection.cs
- ThicknessAnimation.cs
- DbDataRecord.cs
- CryptoProvider.cs
- CheckableControlBaseAdapter.cs
- RubberbandSelector.cs
- counter.cs
- VirtualDirectoryMappingCollection.cs
- XmlSchemaAnyAttribute.cs
- WebControlParameterProxy.cs
- XmlUnspecifiedAttribute.cs
- Int16.cs
- TextServicesContext.cs
- RuntimeCompatibilityAttribute.cs
- EnumDataContract.cs
- ExpressionBuilderContext.cs
- ComNativeDescriptor.cs
- DataListItem.cs
- OutOfProcStateClientManager.cs
- PostBackOptions.cs
- OperatingSystem.cs
- StateDesignerConnector.cs
- CodeDesigner.cs
- GridViewHeaderRowPresenter.cs
- XmlSchemaExporter.cs
- TextEditorThreadLocalStore.cs
- SqlBulkCopy.cs
- TimelineGroup.cs
- ProvidersHelper.cs
- TcpServerChannel.cs
- RadioButtonAutomationPeer.cs
- OptimalBreakSession.cs
- CommandTreeTypeHelper.cs
- FixUp.cs
- TabControlDesigner.cs
- LightweightCodeGenerator.cs
- SqlParameter.cs
- PerfService.cs
- BindingMAnagerBase.cs
- hwndwrapper.cs
- webclient.cs
- DSASignatureFormatter.cs
- CodeDOMUtility.cs
- CompilationPass2Task.cs
- DropSource.cs
- DataSourceCacheDurationConverter.cs
- Main.cs
- FixedSOMElement.cs
- CategoryNameCollection.cs
- VisualBrush.cs
- RequestFactory.cs
- ByteBufferPool.cs
- TextTabProperties.cs
- CodeAssignStatement.cs
- SetterBaseCollection.cs
- WebAdminConfigurationHelper.cs
- PrinterSettings.cs
- SerialPort.cs
- ServiceX509SecurityTokenProvider.cs
- XmlObjectSerializerWriteContextComplex.cs
- CompiledRegexRunner.cs
- FontWeights.cs
- ScrollItemPattern.cs
- CollectionContainer.cs
- PickBranchDesigner.xaml.cs
- SubclassTypeValidatorAttribute.cs
- MarshalDirectiveException.cs
- BitmapEffectDrawing.cs
- xmlsaver.cs
- TrustManager.cs
- HttpHandlersSection.cs
- ObservableDictionary.cs