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
- HostedElements.cs
- SafeProcessHandle.cs
- DebugInfoGenerator.cs
- ColorTranslator.cs
- FilterElement.cs
- RegisteredHiddenField.cs
- PerformanceCounterManager.cs
- UdpSocketReceiveManager.cs
- KeyedCollection.cs
- IdentityHolder.cs
- ResourceDescriptionAttribute.cs
- BeginEvent.cs
- ApplicationServicesHostFactory.cs
- DependencyPropertyKey.cs
- ServiceDiscoveryBehavior.cs
- Pens.cs
- EraserBehavior.cs
- PointUtil.cs
- GiveFeedbackEvent.cs
- AnnotationStore.cs
- filewebrequest.cs
- SynchronizationFilter.cs
- TableLayoutStyleCollection.cs
- RuleSet.cs
- ByteAnimation.cs
- ClientOptions.cs
- InstanceCreationEditor.cs
- IdentityValidationException.cs
- AttributeCollection.cs
- Equal.cs
- ActivityExecutorSurrogate.cs
- GlyphCollection.cs
- ObjectListCommandsPage.cs
- IFormattable.cs
- SetterBaseCollection.cs
- UIElement.cs
- FormatterServicesNoSerializableCheck.cs
- DataGridItem.cs
- XmlCompatibilityReader.cs
- RenderData.cs
- XmlQualifiedName.cs
- FormsAuthentication.cs
- MouseBinding.cs
- EditorZone.cs
- InsufficientMemoryException.cs
- ActivityTypeResolver.xaml.cs
- DataControlCommands.cs
- SystemTcpStatistics.cs
- MessagingDescriptionAttribute.cs
- ObjectComplexPropertyMapping.cs
- ReturnType.cs
- ObjectDataSourceDisposingEventArgs.cs
- ItemList.cs
- OutputScope.cs
- CharacterBufferReference.cs
- XmlSchemaComplexContentExtension.cs
- HtmlInputImage.cs
- Crypto.cs
- _NativeSSPI.cs
- HotCommands.cs
- ColorTranslator.cs
- InstalledVoice.cs
- TdsParserSessionPool.cs
- StringAnimationBase.cs
- InvalidDataContractException.cs
- SplineKeyFrames.cs
- ServiceSecurityContext.cs
- Context.cs
- AxHost.cs
- SchemaDeclBase.cs
- StylusShape.cs
- ActivityInterfaces.cs
- InstallHelper.cs
- ActivityDesignerHelper.cs
- RenameRuleObjectDialog.cs
- TypeSystemProvider.cs
- RouteParser.cs
- AnonymousIdentificationSection.cs
- DifferencingCollection.cs
- TabControlCancelEvent.cs
- TypeTypeConverter.cs
- GroupDescription.cs
- BamlWriter.cs
- DataBoundControl.cs
- ObjectCacheHost.cs
- DbgUtil.cs
- TemplateBaseAction.cs
- XamlBrushSerializer.cs
- CaseCqlBlock.cs
- RegexParser.cs
- dsa.cs
- WindowsListViewItemStartMenu.cs
- HttpRequestBase.cs
- ViewSimplifier.cs
- Msec.cs
- Calendar.cs
- CollectionContainer.cs
- MediaScriptCommandRoutedEventArgs.cs
- ApplicationManager.cs
- FunctionDefinition.cs