Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / cdf / src / WCF / Serialization / System / Runtime / Serialization / KnownTypeDataContractResolver.cs / 1305376 / KnownTypeDataContractResolver.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.Runtime.Serialization { using System.Xml; sealed class KnownTypeDataContractResolver : DataContractResolver { XmlObjectSerializerContext context; internal KnownTypeDataContractResolver(XmlObjectSerializerContext context) { Fx.Assert(context != null, "KnownTypeDataContractResolver should not be instantiated with a null context"); this.context = context; } public override bool TryResolveType(Type type, Type declaredType, DataContractResolver knownTypeResolver, out XmlDictionaryString typeName, out XmlDictionaryString typeNamespace) { if (type == null) { typeName = null; typeNamespace = null; return false; } if (declaredType != null && declaredType.IsInterface && CollectionDataContract.IsCollectionInterface(declaredType)) { typeName = null; typeNamespace = null; return true; } DataContract contract = DataContract.GetDataContract(type); if (context.IsKnownType(contract, contract.KnownDataContracts, declaredType)) { typeName = contract.Name; typeNamespace = contract.Namespace; return true; } else { typeName = null; typeNamespace = null; return false; } } public override Type ResolveName(string typeName, string typeNamespace, Type declaredType, DataContractResolver knownTypeResolver) { if (typeName == null || typeNamespace == null) return null; return context.ResolveNameFromKnownTypes(new XmlQualifiedName(typeName, typeNamespace)); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- CmsInterop.cs
- RowsCopiedEventArgs.cs
- AutomationIdentifier.cs
- ReadOnlyCollectionBuilder.cs
- SqlTriggerContext.cs
- WindowsIdentity.cs
- PasswordRecovery.cs
- CollectionType.cs
- AuthorizationBehavior.cs
- HttpCachePolicyElement.cs
- XmlResolver.cs
- ReadWriteSpinLock.cs
- FixedHighlight.cs
- DataRowExtensions.cs
- FileChangesMonitor.cs
- SerializationException.cs
- OletxTransactionManager.cs
- CodeTypeDeclarationCollection.cs
- TextEffectCollection.cs
- DbMetaDataFactory.cs
- SpecularMaterial.cs
- XPathNavigatorKeyComparer.cs
- SettingsPropertyWrongTypeException.cs
- JournalEntryStack.cs
- ExceptionNotification.cs
- ProgressBarRenderer.cs
- DefaultValidator.cs
- XPathMultyIterator.cs
- Vector3DCollectionConverter.cs
- XsdValidatingReader.cs
- ValidationVisibilityAttribute.cs
- StreamWriter.cs
- RangeValueProviderWrapper.cs
- XamlWrapperReaders.cs
- XamlLoadErrorInfo.cs
- InitializationEventAttribute.cs
- SEHException.cs
- TextFormatterImp.cs
- HttpHandler.cs
- StreamUpdate.cs
- XpsResourcePolicy.cs
- ZoneButton.cs
- SpeechAudioFormatInfo.cs
- TemplatedWizardStep.cs
- DataGridViewRowEventArgs.cs
- NotificationContext.cs
- PropertyBuilder.cs
- AuthenticationModeHelper.cs
- ResourceDisplayNameAttribute.cs
- TextEditorCopyPaste.cs
- EntityViewGenerator.cs
- ConnectionProviderAttribute.cs
- WebPartCollection.cs
- TemplateContent.cs
- AutomationPatternInfo.cs
- ScriptModule.cs
- PartitionResolver.cs
- ListSortDescription.cs
- TemplatedWizardStep.cs
- ItemType.cs
- PtsHelper.cs
- RuntimeEnvironment.cs
- AppSettingsExpressionBuilder.cs
- NetworkInformationPermission.cs
- ImageSourceValueSerializer.cs
- Debug.cs
- Base64Stream.cs
- PackWebRequestFactory.cs
- CompositionCommandSet.cs
- PostBackOptions.cs
- MultiSelector.cs
- TaskFileService.cs
- ColorAnimationBase.cs
- ModelPropertyCollectionImpl.cs
- TdsEnums.cs
- HighlightComponent.cs
- RequiredAttributeAttribute.cs
- ApplicationActivator.cs
- SqlFactory.cs
- altserialization.cs
- NativeRightsManagementAPIsStructures.cs
- InvalidProgramException.cs
- ContextMenu.cs
- WebBaseEventKeyComparer.cs
- ValidationService.cs
- TextDecorationCollection.cs
- Point4D.cs
- FastEncoderWindow.cs
- Size.cs
- DynamicExpression.cs
- InvariantComparer.cs
- XmlSortKey.cs
- TagMapCollection.cs
- ProgressChangedEventArgs.cs
- DoubleConverter.cs
- WindowsContainer.cs
- LongCountAggregationOperator.cs
- AutomationEvent.cs
- FixedTextSelectionProcessor.cs
- DataGridViewRowPrePaintEventArgs.cs