Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / System / Windows / Markup / XamlSerializer.cs / 1305600 / XamlSerializer.cs
//----------------------------------------------------------------------------
//
// File: XamlSerializer.cs
//
// Description:
// XamlSerializer is used to persist an object instance to xaml markup
//
// Copyright (C) 2003 by Microsoft Corporation. All rights reserved.
//
//---------------------------------------------------------------------------
using System;
using System.Collections;
using System.ComponentModel;
using System.ComponentModel.Design;
using System.ComponentModel.Design.Serialization;
using System.Diagnostics;
using System.IO;
using System.Reflection;
using System.Xml;
using System.Security.Permissions;
using MS.Utility;
#if PBTCOMPILER
namespace MS.Internal.Markup
#else
namespace System.Windows.Markup
#endif
{
///
/// XamlSerializer is used to persist an
/// object instance to xaml markup.
///
internal class XamlSerializer
{
#region Construction
///
/// Constructor for XamlSerializer
///
///
/// This constructor will be used under
/// the following three scenarios
/// 1. Convert .. XamlToBaml
/// 2. Convert .. XamlToObject
/// 3. Convert .. BamlToObject
///
public XamlSerializer()
{
}
#endregion Construction
#region OtherConversions
///
/// Convert from Xaml read by a token reader into baml being written
/// out by a record writer. The context gives mapping information.
///
#if !PBTCOMPILER
//CASRemoval:[StrongNameIdentityPermission(SecurityAction.InheritanceDemand, PublicKey = Microsoft.Internal.BuildInfo.WCP_PUBLIC_KEY_STRING)]
#endif
internal virtual void ConvertXamlToBaml (
XamlReaderHelper tokenReader,
ParserContext context,
XamlNode xamlNode,
BamlRecordWriter bamlWriter)
{
throw new InvalidOperationException(SR.Get(SRID.InvalidDeSerialize));
}
#if !PBTCOMPILER
///
/// Convert from Xaml read by a token reader into a live
/// object tree. The context gives mapping information.
///
//CASRemoval:[StrongNameIdentityPermission(SecurityAction.InheritanceDemand, PublicKey = Microsoft.Internal.BuildInfo.WCP_PUBLIC_KEY_STRING)]
internal virtual void ConvertXamlToObject (
XamlReaderHelper tokenReader,
ReadWriteStreamManager streamManager,
ParserContext context,
XamlNode xamlNode,
BamlRecordReader reader)
{
throw new InvalidOperationException(SR.Get(SRID.InvalidDeSerialize));
}
///
/// Convert from Baml read by a baml reader into an object tree.
/// The context gives mapping information. Return the number of
/// baml records processed.
///
//CASRemoval:[StrongNameIdentityPermission(SecurityAction.InheritanceDemand, PublicKey = Microsoft.Internal.BuildInfo.WCP_PUBLIC_KEY_STRING)]
internal virtual void ConvertBamlToObject (
BamlRecordReader reader, // Current reader that is processing records
BamlRecord bamlRecord, // Record read in that triggered serializer
ParserContext context) // Context
{
throw new InvalidOperationException(SR.Get(SRID.InvalidDeSerialize));
}
#endif
///
/// Convert a string into a compact binary representation and write it out
/// to the passed BinaryWriter.
///
public virtual bool ConvertStringToCustomBinary (
BinaryWriter writer, // Writer into the baml stream
string stringValue) // String to convert
{
throw new InvalidOperationException(SR.Get(SRID.InvalidCustomSerialize));
}
///
/// Convert a compact binary representation of a certain object into and instance
/// of that object. The reader must be left pointing immediately after the object
/// data in the underlying stream.
///
public virtual object ConvertCustomBinaryToObject(
BinaryReader reader)
{
throw new InvalidOperationException(SR.Get(SRID.InvalidCustomSerialize));
}
///
/// If the object created by this serializer is stored in a dictionary, this
/// method will extract the key used for this dictionary from the passed
/// collection of baml records. How the key is determined is up to the
/// individual serializer. By default, there is no key retrieved.
///
#if !PBTCOMPILER
//CASRemoval:[StrongNameIdentityPermission(SecurityAction.InheritanceDemand, PublicKey = Microsoft.Internal.BuildInfo.WCP_PUBLIC_KEY_STRING)]
#endif
internal virtual object GetDictionaryKey(
BamlRecord bamlRecord,
ParserContext parserContext)
{
return null;
}
#endregion OtherConversions
#region Data
internal const string DefNamespacePrefix = "x"; // Used to emit Definitions namespace prefix
internal const string DefNamespace = "http://schemas.microsoft.com/winfx/2006/xaml"; // Used to emit Definitions namespace
internal const string ArrayTag = "Array"; // Used to emit the x:Array tag
internal const string ArrayTagTypeAttribute = "Type"; // Used to emit the x:Type attribute for Array
#endregion Data
}
}
// 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
- HttpClientProtocol.cs
- wgx_sdk_version.cs
- CalloutQueueItem.cs
- DataGridColumn.cs
- MethodBuilder.cs
- InfoCardTrace.cs
- XamlWriter.cs
- Point3DAnimationUsingKeyFrames.cs
- PointCollection.cs
- CopyNodeSetAction.cs
- RemotingClientProxy.cs
- BasicAsyncResult.cs
- WebPartConnectionsCloseVerb.cs
- GradientStopCollection.cs
- basevalidator.cs
- ZeroOpNode.cs
- WindowsFormsSectionHandler.cs
- ImageInfo.cs
- RTLAwareMessageBox.cs
- HttpApplicationFactory.cs
- XmlSchemaNotation.cs
- ToolStripContentPanel.cs
- RuntimeHelpers.cs
- StyleReferenceConverter.cs
- XPathQilFactory.cs
- ColumnResizeUndoUnit.cs
- Keyboard.cs
- IdentityHolder.cs
- ControlIdConverter.cs
- SpeakProgressEventArgs.cs
- BaseUriHelper.cs
- ApplicationInfo.cs
- LinqDataSourceSelectEventArgs.cs
- StateManagedCollection.cs
- QueryOperatorEnumerator.cs
- CookieProtection.cs
- NoPersistHandle.cs
- DuplicateWaitObjectException.cs
- ObjectStateEntryOriginalDbUpdatableDataRecord.cs
- GridView.cs
- HelpProvider.cs
- TextDecoration.cs
- CodeDomConfigurationHandler.cs
- DESCryptoServiceProvider.cs
- OutputCacheSettings.cs
- OutputWindow.cs
- DataListGeneralPage.cs
- AutoResetEvent.cs
- DbProviderFactoriesConfigurationHandler.cs
- EmptyElement.cs
- CharacterShapingProperties.cs
- LateBoundBitmapDecoder.cs
- SecureUICommand.cs
- CodePageEncoding.cs
- NamespaceList.cs
- Misc.cs
- InstanceDataCollectionCollection.cs
- DataServices.cs
- ValidatingPropertiesEventArgs.cs
- StructuralType.cs
- SRGSCompiler.cs
- PageThemeBuildProvider.cs
- RepeaterDataBoundAdapter.cs
- Paragraph.cs
- Binding.cs
- FontUnit.cs
- ProfileManager.cs
- IDictionary.cs
- UIPropertyMetadata.cs
- XhtmlCssHandler.cs
- SiteMapDataSourceView.cs
- coordinator.cs
- DependentTransaction.cs
- XPathNodeIterator.cs
- ListViewCancelEventArgs.cs
- DefaultBindingPropertyAttribute.cs
- WhitespaceRule.cs
- LayoutEditorPart.cs
- LabelAutomationPeer.cs
- ForAllOperator.cs
- XMLUtil.cs
- Html32TextWriter.cs
- TemplateControl.cs
- XmlWrappingWriter.cs
- VScrollProperties.cs
- LinqDataSourceDisposeEventArgs.cs
- StdValidatorsAndConverters.cs
- ExpressionBindings.cs
- CurrentTimeZone.cs
- LongValidator.cs
- DesignerGeometryHelper.cs
- Crypto.cs
- AssemblySettingAttributes.cs
- TimeoutValidationAttribute.cs
- ControlValuePropertyAttribute.cs
- FormsAuthenticationUser.cs
- ProofTokenCryptoHandle.cs
- ImpersonationOption.cs
- PrefixQName.cs
- FontFamilyIdentifier.cs