Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WF / Common / AuthoringOM / Serializer / XmlDocumentSurrogate.cs / 1305376 / XmlDocumentSurrogate.cs
namespace System.Workflow.ComponentModel.Serialization
{
using System;
using System.Xml;
using System.Runtime.Serialization;
using System.Reflection;
using System.IO;
using System.Runtime.Serialization.Formatters.Binary;
#region XmlDocumentSurrogate
internal sealed class XmlDocumentSurrogate : ISerializationSurrogate
{
internal XmlDocumentSurrogate() {}
void ISerializationSurrogate.GetObjectData(object obj, SerializationInfo info, StreamingContext context)
{
XmlDocument doc = obj as XmlDocument;
if (doc == null)
throw new ArgumentException(SR.GetString(SR.Error_InvalidArgumentValue), "obj");
info.AddValue("innerXml", doc.InnerXml);
info.SetType(typeof(XmlDocumentReference));
}
object ISerializationSurrogate.SetObjectData(object obj, SerializationInfo info, StreamingContext context, ISurrogateSelector selector)
{
return null;
}
#region XmlDocumentReference
[Serializable]
private sealed class XmlDocumentReference : IObjectReference
{
private string innerXml = string.Empty;
Object IObjectReference.GetRealObject(StreamingContext context)
{
XmlDocument doc = new XmlDocument();
if (!string.IsNullOrEmpty(this.innerXml))
doc.InnerXml = this.innerXml;
return doc;
}
}
#endregion
}
#endregion
}
// 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
- EditorZoneBase.cs
- ModuleConfigurationInfo.cs
- XpsColorContext.cs
- MDIClient.cs
- QueryHandler.cs
- ErrorLog.cs
- WebPartManagerInternals.cs
- SingleAnimation.cs
- NamespaceQuery.cs
- MonthChangedEventArgs.cs
- ApplicationFileCodeDomTreeGenerator.cs
- ObjectStorage.cs
- unsafenativemethodsother.cs
- Matrix3D.cs
- DES.cs
- SelectorItemAutomationPeer.cs
- SoapTypeAttribute.cs
- GlobalAllocSafeHandle.cs
- PerformanceCounterCategory.cs
- DSACryptoServiceProvider.cs
- Camera.cs
- DomainConstraint.cs
- CompilerState.cs
- Metafile.cs
- ToolStripPanel.cs
- ToolStripHighContrastRenderer.cs
- HttpProxyCredentialType.cs
- SafeFileMappingHandle.cs
- DesignRelation.cs
- ColumnProvider.cs
- ExpressionVisitorHelpers.cs
- OracleParameter.cs
- FamilyTypeface.cs
- GroupStyle.cs
- ApplicationActivator.cs
- CopyOnWriteList.cs
- AssemblyCollection.cs
- PanelDesigner.cs
- Opcode.cs
- ExpressionPrinter.cs
- x509utils.cs
- SourceInterpreter.cs
- OrderedDictionary.cs
- WebPartEditorCancelVerb.cs
- ListViewItem.cs
- OleDbRowUpdatingEvent.cs
- DataTableCollection.cs
- CodeStatementCollection.cs
- DigestTraceRecordHelper.cs
- Terminate.cs
- DescendantBaseQuery.cs
- StrokeNodeOperations.cs
- SqlDataReaderSmi.cs
- FunctionMappingTranslator.cs
- XamlTypeMapper.cs
- Expression.cs
- SerializationHelper.cs
- DataGridViewAccessibleObject.cs
- EditorZone.cs
- Resources.Designer.cs
- ImageAttributes.cs
- StorageRoot.cs
- ApplicationDirectoryMembershipCondition.cs
- StoreContentChangedEventArgs.cs
- ZipIOEndOfCentralDirectoryBlock.cs
- FontDifferentiator.cs
- DataControlButton.cs
- DataFormats.cs
- SoapAttributeOverrides.cs
- StringInfo.cs
- EntityContainerEntitySet.cs
- GlyphingCache.cs
- ISO2022Encoding.cs
- FullTextLine.cs
- Rotation3D.cs
- TreeNodeMouseHoverEvent.cs
- SystemResourceKey.cs
- SchemeSettingElement.cs
- WorkflowQueue.cs
- ApplicationGesture.cs
- ToolStripItem.cs
- PageThemeParser.cs
- CanonicalXml.cs
- MatrixCamera.cs
- WebPartDisplayModeEventArgs.cs
- BrowserTree.cs
- HandlerFactoryCache.cs
- SspiSecurityToken.cs
- WebServiceAttribute.cs
- CryptoHandle.cs
- EntitySetDataBindingList.cs
- SerializationEventsCache.cs
- DataGridTableStyleMappingNameEditor.cs
- TextServicesContext.cs
- StartUpEventArgs.cs
- DataExpression.cs
- Converter.cs
- ForeignKeyFactory.cs
- ComplusEndpointConfigContainer.cs
- LoginName.cs