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
- AlphaSortedEnumConverter.cs
- CodeAttributeArgumentCollection.cs
- clipboard.cs
- Matrix3D.cs
- UInt32Converter.cs
- ScopedMessagePartSpecification.cs
- PocoEntityKeyStrategy.cs
- UpDownEvent.cs
- StringBuilder.cs
- SafeProcessHandle.cs
- HtmlShimManager.cs
- SecurityTokenReferenceStyle.cs
- MailHeaderInfo.cs
- AttributeCollection.cs
- Module.cs
- TransformPattern.cs
- _DigestClient.cs
- SizeChangedInfo.cs
- ThumbButtonInfoCollection.cs
- ToolStripDropDown.cs
- Vector3DConverter.cs
- ProxySimple.cs
- WeakReadOnlyCollection.cs
- PointF.cs
- MetadataArtifactLoaderFile.cs
- thaishape.cs
- DataGridColumnHeadersPresenter.cs
- VisualStateGroup.cs
- LambdaCompiler.Unary.cs
- ObjectManager.cs
- XmlProcessingInstruction.cs
- Vector.cs
- DataGridColumnFloatingHeader.cs
- PartialCachingAttribute.cs
- SqlMethodAttribute.cs
- IImplicitResourceProvider.cs
- OrderPreservingPipeliningMergeHelper.cs
- _UriSyntax.cs
- ColumnHeader.cs
- InternalCache.cs
- FunctionUpdateCommand.cs
- UserUseLicenseDictionaryLoader.cs
- PersonalizationAdministration.cs
- DocumentXPathNavigator.cs
- ImageSourceValueSerializer.cs
- PrinterUnitConvert.cs
- Win32KeyboardDevice.cs
- XmlReflectionImporter.cs
- EdgeProfileValidation.cs
- XpsFixedDocumentReaderWriter.cs
- SecurityTokenSerializer.cs
- BCLDebug.cs
- DecoderReplacementFallback.cs
- Graphics.cs
- CalendarDay.cs
- CustomLineCap.cs
- XmlSignificantWhitespace.cs
- RefreshPropertiesAttribute.cs
- MatrixIndependentAnimationStorage.cs
- WorkflowRuntimeServiceElementCollection.cs
- PasswordRecovery.cs
- _NTAuthentication.cs
- HitTestParameters.cs
- SiteMapDataSource.cs
- ProviderSettingsCollection.cs
- ProxyWebPart.cs
- PixelShader.cs
- GenericIdentity.cs
- Vector3D.cs
- CommandTreeTypeHelper.cs
- PropertyPathConverter.cs
- XamlPoint3DCollectionSerializer.cs
- QilReplaceVisitor.cs
- SqlUdtInfo.cs
- ValidationErrorInfo.cs
- XmlnsDictionary.cs
- XamlGridLengthSerializer.cs
- ValueConversionAttribute.cs
- HttpHeaderCollection.cs
- TypeDescriptor.cs
- MimeObjectFactory.cs
- OleDbException.cs
- ChangePassword.cs
- ApplicationSecurityInfo.cs
- DispatcherBuilder.cs
- DependencyPropertyHelper.cs
- LinkedList.cs
- Application.cs
- ComAdminWrapper.cs
- StreamHelper.cs
- UIAgentAsyncParams.cs
- SelfIssuedAuthRSACryptoProvider.cs
- ContractValidationHelper.cs
- CellParaClient.cs
- CodeSnippetExpression.cs
- TextEditorCharacters.cs
- ExpressionBuilder.cs
- Rss20ItemFormatter.cs
- invalidudtexception.cs
- EventLogHandle.cs