Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WF / Common / AuthoringOM / Serializer / SimpleTypesSurrogate.cs / 1305376 / SimpleTypesSurrogate.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; using System.Collections; using System.Collections.Generic; #region SimpleTypesSurrogate //This class is currently used only for Guids. The size diff is 93 bytes per guid over binary formatter //Will add support for other types as well, eventually. internal sealed class SimpleTypesSurrogate : ISerializationSurrogate { enum TypeID : byte { Guid = 1, Null, } void ISerializationSurrogate.GetObjectData(object obj, SerializationInfo info, StreamingContext context) { if (obj.GetType() == typeof(Guid)) { Guid guid = (Guid)obj; info.AddValue("typeID", TypeID.Guid); info.AddValue("bits", guid.ToByteArray()); } } object ISerializationSurrogate.SetObjectData(object obj, SerializationInfo info, StreamingContext context, ISurrogateSelector selector) { TypeID typeID = (TypeID)info.GetValue("typeID", typeof(TypeID)); if (typeID == TypeID.Guid) return new Guid(info.GetValue("bits", typeof(byte[])) as byte[]); return null; } } #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
- MediaCommands.cs
- SqlFacetAttribute.cs
- RepeatButton.cs
- XmlILConstructAnalyzer.cs
- QilVisitor.cs
- TypeSystem.cs
- TextRangeSerialization.cs
- ListItemsPage.cs
- NamespaceCollection.cs
- TreeNode.cs
- ValueTable.cs
- DataGridViewCellToolTipTextNeededEventArgs.cs
- TextPattern.cs
- LabelEditEvent.cs
- WindowsGrip.cs
- TextBlock.cs
- ListControlConvertEventArgs.cs
- XmlImplementation.cs
- GPRECT.cs
- DataGridDesigner.cs
- CodeObjectCreateExpression.cs
- ParentQuery.cs
- CriticalHandle.cs
- ThreadExceptionEvent.cs
- PermissionRequestEvidence.cs
- SqlWriter.cs
- TemplatedWizardStep.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- AdPostCacheSubstitution.cs
- PenThreadPool.cs
- XPathScanner.cs
- EventPropertyMap.cs
- TcpWorkerProcess.cs
- DateTimeStorage.cs
- LinqDataSource.cs
- Repeater.cs
- Preprocessor.cs
- ExtensionFile.cs
- SafeArrayRankMismatchException.cs
- DesignerDataSchemaClass.cs
- ToolStripPanelCell.cs
- CollectionConverter.cs
- FilterQuery.cs
- CustomPeerResolverService.cs
- PropertyPathConverter.cs
- DbMetaDataColumnNames.cs
- Exceptions.cs
- ConfigurationPropertyAttribute.cs
- StatusBarItemAutomationPeer.cs
- CodeAssignStatement.cs
- wgx_commands.cs
- ErrorView.xaml.cs
- IPEndPointCollection.cs
- BitmapSourceSafeMILHandle.cs
- ClientTargetSection.cs
- ControlIdConverter.cs
- ServiceNameElement.cs
- ProfilePropertySettingsCollection.cs
- FileDialog.cs
- LogReserveAndAppendState.cs
- UIPropertyMetadata.cs
- ScriptComponentDescriptor.cs
- SqlDataSource.cs
- DocumentXPathNavigator.cs
- EncodingNLS.cs
- assemblycache.cs
- Margins.cs
- HostProtectionException.cs
- AssociativeAggregationOperator.cs
- LinkedResourceCollection.cs
- ScalarType.cs
- HitTestWithPointDrawingContextWalker.cs
- AsyncResult.cs
- DrawingCollection.cs
- StreamReader.cs
- DataListCommandEventArgs.cs
- JsonReaderWriterFactory.cs
- Point4D.cs
- PocoEntityKeyStrategy.cs
- TextEffect.cs
- HttpResponseHeader.cs
- SortQueryOperator.cs
- SpellerStatusTable.cs
- WebPartUserCapability.cs
- MemberHolder.cs
- DataMemberAttribute.cs
- HGlobalSafeHandle.cs
- exports.cs
- Int32Rect.cs
- IIS7UserPrincipal.cs
- ObjectPersistData.cs
- ContentFileHelper.cs
- BrushConverter.cs
- CallbackDebugElement.cs
- Condition.cs
- ReferenceEqualityComparer.cs
- UriSectionData.cs
- QueryCacheKey.cs
- CqlParserHelpers.cs
- RequestCachePolicyConverter.cs