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
- InputBindingCollection.cs
- NumericUpDown.cs
- SqlDependency.cs
- DataGridLinkButton.cs
- ListBindableAttribute.cs
- Adorner.cs
- ServiceModelSectionGroup.cs
- mactripleDES.cs
- SaveFileDialog.cs
- UIElementHelper.cs
- HttpRequestMessageProperty.cs
- TypeUtils.cs
- ErrorEventArgs.cs
- XmlSchemaSequence.cs
- RunClient.cs
- Triplet.cs
- While.cs
- FrameworkContentElement.cs
- ChangesetResponse.cs
- HtmlImage.cs
- ArithmeticException.cs
- AuthenticationSection.cs
- DbExpressionVisitor.cs
- IImplicitResourceProvider.cs
- ToolStripItemBehavior.cs
- DataGridViewIntLinkedList.cs
- SerializerDescriptor.cs
- CompleteWizardStep.cs
- ScrollableControl.cs
- Formatter.cs
- PageContentCollection.cs
- MeasureItemEvent.cs
- LightweightCodeGenerator.cs
- CurrentTimeZone.cs
- _ConnectOverlappedAsyncResult.cs
- OracleTimeSpan.cs
- UpdateDelegates.Generated.cs
- SiteMap.cs
- FileChangesMonitor.cs
- CompModHelpers.cs
- CapabilitiesRule.cs
- IdentitySection.cs
- PartBasedPackageProperties.cs
- DatagridviewDisplayedBandsData.cs
- COM2ExtendedBrowsingHandler.cs
- DynamicDocumentPaginator.cs
- DesignerCalendarAdapter.cs
- RuntimeVariablesExpression.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- ColumnWidthChangedEvent.cs
- XNodeValidator.cs
- CapacityStreamGeometryContext.cs
- EmptyCollection.cs
- ThicknessAnimationUsingKeyFrames.cs
- GetUserPreferenceRequest.cs
- Misc.cs
- SystemWebSectionGroup.cs
- NameValueFileSectionHandler.cs
- HttpAsyncResult.cs
- TransformerConfigurationWizardBase.cs
- DelegateSerializationHolder.cs
- HtmlControlPersistable.cs
- AccessDataSourceWizardForm.cs
- ServiceNotStartedException.cs
- OleDbInfoMessageEvent.cs
- DataSourceConverter.cs
- XmlDataCollection.cs
- BitmapEffectInputConnector.cs
- InputProcessorProfilesLoader.cs
- ContourSegment.cs
- ItemsControlAutomationPeer.cs
- Module.cs
- KeyConverter.cs
- bidPrivateBase.cs
- NamespaceEmitter.cs
- CodeMemberEvent.cs
- AnnotationObservableCollection.cs
- EditorZoneBase.cs
- ColumnProvider.cs
- XmlSchemaImporter.cs
- CustomExpression.cs
- RectAnimation.cs
- CellCreator.cs
- XsdCachingReader.cs
- HTMLTextWriter.cs
- FilterableAttribute.cs
- Directory.cs
- TableLayoutSettings.cs
- CopyOnWriteList.cs
- TemplatedWizardStep.cs
- Update.cs
- IntranetCredentialPolicy.cs
- ExceptionUtil.cs
- ExpressionHelper.cs
- ModulesEntry.cs
- EmbeddedMailObjectsCollection.cs
- Rectangle.cs
- OutputWindow.cs
- ChannelHandler.cs
- SqlXmlStorage.cs