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
- PersonalizationProvider.cs
- DbConnectionPool.cs
- ToolStripRenderer.cs
- InvalidateEvent.cs
- LoadedEvent.cs
- DataGridHeaderBorder.cs
- DataKey.cs
- LabelEditEvent.cs
- DocumentPageView.cs
- BitConverter.cs
- X509DefaultServiceCertificateElement.cs
- DelegateArgumentValue.cs
- MappingSource.cs
- TemplatedAdorner.cs
- TextElementEnumerator.cs
- DesignerWebPartChrome.cs
- TextTreePropertyUndoUnit.cs
- ActivityCodeGenerator.cs
- UnsafeNativeMethods.cs
- CryptoApi.cs
- TextLine.cs
- DataSourceCache.cs
- HttpCapabilitiesEvaluator.cs
- JavaScriptSerializer.cs
- StorageMappingItemCollection.cs
- COM2ExtendedUITypeEditor.cs
- InertiaTranslationBehavior.cs
- BindingList.cs
- RoutingConfiguration.cs
- CqlIdentifiers.cs
- ColorTransformHelper.cs
- CompilerGlobalScopeAttribute.cs
- MsmqOutputSessionChannel.cs
- XmlSchemaFacet.cs
- XmlSchemaImport.cs
- InfoCardRSAPKCS1KeyExchangeDeformatter.cs
- BaseResourcesBuildProvider.cs
- RootBrowserWindowProxy.cs
- FileUtil.cs
- TailCallAnalyzer.cs
- HwndSource.cs
- SmiMetaDataProperty.cs
- OleDbMetaDataFactory.cs
- BitmapDecoder.cs
- ResourcePool.cs
- DBAsyncResult.cs
- BitSet.cs
- NamespaceList.cs
- Message.cs
- UriSection.cs
- ListViewInsertedEventArgs.cs
- ActivityBuilder.cs
- ImageInfo.cs
- AlternateView.cs
- DataGridViewCellPaintingEventArgs.cs
- PathTooLongException.cs
- ResourceProviderFactory.cs
- _ReceiveMessageOverlappedAsyncResult.cs
- RestHandler.cs
- CapabilitiesPattern.cs
- ByteStreamMessage.cs
- ContextStaticAttribute.cs
- WindowsUpDown.cs
- UserControlCodeDomTreeGenerator.cs
- SwitchAttribute.cs
- UserPersonalizationStateInfo.cs
- PageContentCollection.cs
- SiteMapDataSourceView.cs
- ParameterModifier.cs
- ObjectViewQueryResultData.cs
- Types.cs
- ConnectionOrientedTransportManager.cs
- MailMessage.cs
- CodeIdentifiers.cs
- DefaultShape.cs
- Int32AnimationUsingKeyFrames.cs
- HMACSHA512.cs
- MasterPageCodeDomTreeGenerator.cs
- JsonEnumDataContract.cs
- ListenerConstants.cs
- XmlLanguageConverter.cs
- RoutedEventHandlerInfo.cs
- TypeSystemProvider.cs
- BitHelper.cs
- UrlPath.cs
- PartitionResolver.cs
- FontSourceCollection.cs
- COM2FontConverter.cs
- XsltException.cs
- PackWebResponse.cs
- CompensatableTransactionScopeActivityDesigner.cs
- XamlTemplateSerializer.cs
- ResourceExpressionBuilder.cs
- RegexWorker.cs
- CodeTypeDeclaration.cs
- RegionInfo.cs
- UpdatePanel.cs
- DateTimeFormatInfoScanner.cs
- OleDbMetaDataFactory.cs
- DataService.cs