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
- MediaTimeline.cs
- Int32Animation.cs
- FormsAuthentication.cs
- LocalBuilder.cs
- DrawListViewSubItemEventArgs.cs
- SimpleModelProvider.cs
- XamlTypeMapper.cs
- TextBoxAutomationPeer.cs
- TraceLevelHelper.cs
- BreakRecordTable.cs
- LinkButton.cs
- DataKey.cs
- FlowDocumentView.cs
- AdornerPresentationContext.cs
- Utils.cs
- HttpFormatExtensions.cs
- VariantWrapper.cs
- Decorator.cs
- InputBuffer.cs
- TabControlCancelEvent.cs
- ApplicationProxyInternal.cs
- RedBlackList.cs
- DecoderNLS.cs
- QueryCursorEventArgs.cs
- HttpModuleAction.cs
- MatrixTransform.cs
- SignedInfo.cs
- followingsibling.cs
- RefreshPropertiesAttribute.cs
- CommandTreeTypeHelper.cs
- PresentationTraceSources.cs
- ComboBoxItem.cs
- XsdBuildProvider.cs
- XmlConvert.cs
- HttpWebRequestElement.cs
- CheckBoxStandardAdapter.cs
- SqlOuterApplyReducer.cs
- PaperSize.cs
- ImpersonationContext.cs
- RootCodeDomSerializer.cs
- ScriptHandlerFactory.cs
- XmlAnyElementAttribute.cs
- GPPOINTF.cs
- Label.cs
- VideoDrawing.cs
- BaseDataBoundControl.cs
- VirtualPathProvider.cs
- ViewStateException.cs
- JsonWriterDelegator.cs
- Maps.cs
- UnsignedPublishLicense.cs
- XmlAttributeOverrides.cs
- SolidBrush.cs
- SelectionWordBreaker.cs
- CodeSubDirectory.cs
- SerializationInfo.cs
- XPathNodeHelper.cs
- ObjectFullSpanRewriter.cs
- HttpConfigurationContext.cs
- InvalidAsynchronousStateException.cs
- Baml6ConstructorInfo.cs
- TableRowGroup.cs
- SmtpFailedRecipientsException.cs
- Vector.cs
- WebHttpDispatchOperationSelectorData.cs
- PolyBezierSegmentFigureLogic.cs
- PartitionedDataSource.cs
- ForwardPositionQuery.cs
- GenericEnumerator.cs
- IdnMapping.cs
- CommunicationObject.cs
- StrokeIntersection.cs
- ValueQuery.cs
- ClientUrlResolverWrapper.cs
- OleDbInfoMessageEvent.cs
- DataServiceRequestException.cs
- Currency.cs
- InfoCardRequestException.cs
- HostProtectionPermission.cs
- ManagementObject.cs
- TreeViewItemAutomationPeer.cs
- BamlLocalizableResourceKey.cs
- AttributeQuery.cs
- CustomLineCap.cs
- ClockController.cs
- HandleRef.cs
- BitmapVisualManager.cs
- ConfigurationManager.cs
- LayoutEditorPart.cs
- DataSourceCacheDurationConverter.cs
- UrlEncodedParameterWriter.cs
- ForceCopyBuildProvider.cs
- NoResizeSelectionBorderGlyph.cs
- WindowsListBox.cs
- DesignerPerfEventProvider.cs
- CryptographicAttribute.cs
- LinkUtilities.cs
- SafeCloseHandleCritical.cs
- DirectionalLight.cs
- Hash.cs