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
- DbDataSourceEnumerator.cs
- EntityDataSourceDataSelection.cs
- ProviderConnectionPointCollection.cs
- EmptyArray.cs
- DesignTimeParseData.cs
- DesigntimeLicenseContext.cs
- PrintPreviewDialog.cs
- RectAnimation.cs
- AdapterDictionary.cs
- _NestedSingleAsyncResult.cs
- RunClient.cs
- OdbcCommandBuilder.cs
- AppSettingsExpressionBuilder.cs
- NodeFunctions.cs
- XmlRawWriter.cs
- XamlStream.cs
- NativeMethods.cs
- ScalarConstant.cs
- SupportingTokenProviderSpecification.cs
- LateBoundChannelParameterCollection.cs
- UInt64Storage.cs
- ValidatorCollection.cs
- ForEachAction.cs
- TextContainerHelper.cs
- HatchBrush.cs
- CheckoutException.cs
- X509CertificateValidator.cs
- NamespaceDecl.cs
- PrimitiveSchema.cs
- SqlServices.cs
- ProxyWebPartManager.cs
- VectorConverter.cs
- HostProtectionPermission.cs
- UrlAuthFailedErrorFormatter.cs
- SoapWriter.cs
- SmiSettersStream.cs
- DesignTimeResourceProviderFactoryAttribute.cs
- BinaryConverter.cs
- BuilderInfo.cs
- XPathBinder.cs
- Base64Decoder.cs
- DesignerSerializerAttribute.cs
- ImageList.cs
- DateTimeFormatInfo.cs
- SortExpressionBuilder.cs
- Matrix3DValueSerializer.cs
- SqlDependencyListener.cs
- DeferrableContent.cs
- WebPartDisplayModeCancelEventArgs.cs
- Timer.cs
- IsolatedStorageFileStream.cs
- SQLGuid.cs
- ColumnResizeUndoUnit.cs
- HijriCalendar.cs
- SecUtil.cs
- TrackingProvider.cs
- MetadataException.cs
- CngKey.cs
- BuildProviderCollection.cs
- BuildResult.cs
- TransformValueSerializer.cs
- GregorianCalendarHelper.cs
- AcceptorSessionSymmetricMessageSecurityProtocol.cs
- MenuItemCollection.cs
- ConfigXmlCDataSection.cs
- ResourceDescriptionAttribute.cs
- ItemMap.cs
- DataGridViewButtonColumn.cs
- RootBrowserWindow.cs
- ControlIdConverter.cs
- LockCookie.cs
- mansign.cs
- SeekStoryboard.cs
- DateTimeFormatInfo.cs
- DesigntimeLicenseContext.cs
- Italic.cs
- TransformerInfoCollection.cs
- RequestBringIntoViewEventArgs.cs
- DataListAutoFormat.cs
- ReadWriteSpinLock.cs
- BitmapDownload.cs
- SynchronizedPool.cs
- LocalizableAttribute.cs
- ProtocolsSection.cs
- WebZone.cs
- ToolboxService.cs
- UserControlParser.cs
- PersonalizationProviderHelper.cs
- RemoteWebConfigurationHostStream.cs
- XmlQueryCardinality.cs
- TabControlCancelEvent.cs
- ObjectPersistData.cs
- StatusBarDrawItemEvent.cs
- CodeParameterDeclarationExpressionCollection.cs
- CapabilitiesAssignment.cs
- ScrollChrome.cs
- InvokeBase.cs
- HashSet.cs
- DbDeleteCommandTree.cs
- HtmlTextArea.cs