Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / NetFx35 / System.ServiceModel.Web / System / ServiceModel / Syndication / ExtensibleSyndicationObject.cs / 1 / ExtensibleSyndicationObject.cs
//------------------------------------------------------------ // Copyright (c) Microsoft Corporation. All rights reserved. //----------------------------------------------------------- namespace System.ServiceModel.Syndication { using System.Collections.ObjectModel; using System.Collections.Generic; using System.Runtime.Serialization; using System.Xml.Serialization; using System.Xml; // NOTE: This class implements Clone so if you add any members, please update the copy ctor struct ExtensibleSyndicationObject : IExtensibleSyndicationObject { DictionaryattributeExtensions; SyndicationElementExtensionCollection elementExtensions; ExtensibleSyndicationObject(ExtensibleSyndicationObject source) { if (source.attributeExtensions != null) { this.attributeExtensions = new Dictionary (); foreach (XmlQualifiedName key in source.attributeExtensions.Keys) { this.attributeExtensions.Add(key, source.attributeExtensions[key]); } } else { this.attributeExtensions = null; } if (source.elementExtensions != null) { this.elementExtensions = new SyndicationElementExtensionCollection(source.elementExtensions); } else { this.elementExtensions = null; } } public Dictionary AttributeExtensions { get { if (this.attributeExtensions == null) { this.attributeExtensions = new Dictionary (); } return this.attributeExtensions; } } public SyndicationElementExtensionCollection ElementExtensions { get { if (this.elementExtensions == null) { this.elementExtensions = new SyndicationElementExtensionCollection(); } return this.elementExtensions; } } static XmlBuffer CreateXmlBuffer(XmlDictionaryReader unparsedExtensionsReader, int maxExtensionSize) { XmlBuffer buffer = new XmlBuffer(maxExtensionSize); using (XmlDictionaryWriter writer = buffer.OpenSection(unparsedExtensionsReader.Quotas)) { writer.WriteStartElement(Rss20Constants.ExtensionWrapperTag); while (unparsedExtensionsReader.IsStartElement()) { writer.WriteNode(unparsedExtensionsReader, false); } writer.WriteEndElement(); } buffer.CloseSection(); buffer.Close(); return buffer; } internal void LoadElementExtensions(XmlReader readerOverUnparsedExtensions, int maxExtensionSize) { if (readerOverUnparsedExtensions == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("readerOverUnparsedExtensions"); } if (maxExtensionSize < 0) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentOutOfRangeException("maxExtensionSize")); } XmlDictionaryReader r = XmlDictionaryReader.CreateDictionaryReader(readerOverUnparsedExtensions); this.elementExtensions = new SyndicationElementExtensionCollection(CreateXmlBuffer(r, maxExtensionSize)); } internal void LoadElementExtensions(XmlBuffer buffer) { this.elementExtensions = new SyndicationElementExtensionCollection(buffer); } internal void WriteAttributeExtensions(XmlWriter writer) { if (writer == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("writer"); } if (this.attributeExtensions != null) { foreach (XmlQualifiedName qname in this.attributeExtensions.Keys) { string value = this.attributeExtensions[qname]; writer.WriteAttributeString(qname.Name, qname.Namespace, value); } } } internal void WriteElementExtensions(XmlWriter writer) { if (writer == null) { throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("writer"); } if (this.elementExtensions != null) { this.elementExtensions.WriteTo(writer); } } public ExtensibleSyndicationObject Clone() { return new ExtensibleSyndicationObject(this); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ResourceContainerWrapper.cs
- UnauthorizedAccessException.cs
- ToolStripComboBox.cs
- TopClause.cs
- ActiveXHost.cs
- OnOperation.cs
- StyleSheet.cs
- FontCacheLogic.cs
- SecurityKeyType.cs
- HtmlTable.cs
- SpeakCompletedEventArgs.cs
- CoreSwitches.cs
- oledbconnectionstring.cs
- columnmapfactory.cs
- InfocardInteractiveChannelInitializer.cs
- BindingBase.cs
- ArrayTypeMismatchException.cs
- FontUnit.cs
- SelectionList.cs
- AliasGenerator.cs
- ChtmlPhoneCallAdapter.cs
- ProviderException.cs
- HtmlSelect.cs
- _Semaphore.cs
- LoginView.cs
- ConstraintCollection.cs
- TcpClientChannel.cs
- DataServiceKeyAttribute.cs
- WebFormDesignerActionService.cs
- EntityProviderServices.cs
- XsdBuilder.cs
- DrawingDrawingContext.cs
- ScrollPattern.cs
- MediaElement.cs
- MatrixAnimationBase.cs
- ProxyAttribute.cs
- VerticalAlignConverter.cs
- PointConverter.cs
- WebPartVerbsEventArgs.cs
- RuntimeHelpers.cs
- ImageConverter.cs
- DocumentGrid.cs
- PolyLineSegment.cs
- StdRegProviderWrapper.cs
- ChameleonKey.cs
- DataSetViewSchema.cs
- FileSystemWatcher.cs
- RSAPKCS1SignatureDeformatter.cs
- DurableDispatcherAddressingFault.cs
- DynamicHyperLink.cs
- SchemaLookupTable.cs
- ByteAnimationUsingKeyFrames.cs
- OuterGlowBitmapEffect.cs
- SecurityManager.cs
- MetadataImporterQuotas.cs
- Not.cs
- shaperfactory.cs
- ValidatedControlConverter.cs
- ListViewInsertedEventArgs.cs
- coordinator.cs
- Literal.cs
- ImportOptions.cs
- FragmentNavigationEventArgs.cs
- IndentedWriter.cs
- HashSet.cs
- HttpModulesSection.cs
- XmlWriter.cs
- LinkUtilities.cs
- XmlException.cs
- SqlUDTStorage.cs
- TypeExtensionSerializer.cs
- TextSelectionHighlightLayer.cs
- Rectangle.cs
- GridViewPageEventArgs.cs
- TransformerTypeCollection.cs
- HierarchicalDataBoundControlAdapter.cs
- UriScheme.cs
- GraphicsState.cs
- TranslateTransform3D.cs
- IdentityModelDictionary.cs
- XmlConvert.cs
- _LocalDataStore.cs
- CatchBlock.cs
- CachedFontFamily.cs
- counter.cs
- AppDomainUnloadedException.cs
- HtmlButton.cs
- PropertyInformation.cs
- LoadedOrUnloadedOperation.cs
- TypeUnloadedException.cs
- XmlLinkedNode.cs
- DetailsViewDesigner.cs
- GenericXmlSecurityToken.cs
- StackOverflowException.cs
- ResourceProviderFactory.cs
- DispatchChannelSink.cs
- TagPrefixInfo.cs
- SrgsGrammar.cs
- SqlDataSourceCommandParser.cs
- AspCompat.cs