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
- CalloutQueueItem.cs
- AuthenticationModulesSection.cs
- EntityDataSourceWizardForm.cs
- CompilationRelaxations.cs
- HtmlListAdapter.cs
- DataGridViewRowCollection.cs
- HttpCacheParams.cs
- UInt64.cs
- ProxyWebPartConnectionCollection.cs
- GridViewCommandEventArgs.cs
- ApplicationServicesHostFactory.cs
- DrawToolTipEventArgs.cs
- DateTimeFormatInfoScanner.cs
- CapacityStreamGeometryContext.cs
- FactoryMaker.cs
- Point3DAnimationBase.cs
- DesignOnlyAttribute.cs
- Helper.cs
- ScriptReferenceEventArgs.cs
- EventLog.cs
- SecUtil.cs
- MessageEnumerator.cs
- ObjectResult.cs
- XsdBuilder.cs
- MSG.cs
- _Events.cs
- CheckBox.cs
- PerformanceCounter.cs
- RemotingConfiguration.cs
- ControlEvent.cs
- ZoneIdentityPermission.cs
- ClientSession.cs
- ApplicationContext.cs
- LayoutExceptionEventArgs.cs
- RegexFCD.cs
- WizardPanelChangingEventArgs.cs
- ErrorReporting.cs
- WebPart.cs
- XmlNode.cs
- TerminateWorkflow.cs
- SystemParameters.cs
- BaseProcessor.cs
- DictionaryEntry.cs
- cryptoapiTransform.cs
- Parameter.cs
- X509CertificateStore.cs
- FileBasedResourceGroveler.cs
- BrowserCapabilitiesCodeGenerator.cs
- Int32RectConverter.cs
- PkcsUtils.cs
- SqlOuterApplyReducer.cs
- AccessibleObject.cs
- XmlDataSource.cs
- XmlWrappingWriter.cs
- TablePattern.cs
- ConstraintEnumerator.cs
- SystemInformation.cs
- PropertyCondition.cs
- CategoryValueConverter.cs
- DataGridToolTip.cs
- StatusBarPanel.cs
- ToolStripRenderer.cs
- GetBrowserTokenRequest.cs
- TypeConverter.cs
- BuildManager.cs
- DrawListViewColumnHeaderEventArgs.cs
- DSASignatureDeformatter.cs
- TextTreeTextBlock.cs
- Rect3DValueSerializer.cs
- Image.cs
- SoapSchemaImporter.cs
- RuntimeConfigLKG.cs
- SpeechSeg.cs
- _UncName.cs
- SqlFactory.cs
- FontSourceCollection.cs
- Base64Decoder.cs
- LayoutTable.cs
- MimeTypeAttribute.cs
- XmlSchemaAny.cs
- HtmlTableRow.cs
- UserControlBuildProvider.cs
- Run.cs
- PerformanceCounter.cs
- TypeGeneratedEventArgs.cs
- XmlDocumentType.cs
- IpcChannelHelper.cs
- OleDbException.cs
- AccessViolationException.cs
- WorkItem.cs
- WindowsTreeView.cs
- TransportChannelListener.cs
- ProtocolsConfiguration.cs
- PowerEase.cs
- NullableLongSumAggregationOperator.cs
- PositiveTimeSpanValidatorAttribute.cs
- AsymmetricSignatureDeformatter.cs
- XmlNodeList.cs
- PageParser.cs
- TransformGroup.cs