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
- Debug.cs
- FileClassifier.cs
- ExpandCollapseProviderWrapper.cs
- FilePrompt.cs
- XPathExpr.cs
- DrawingContextFlattener.cs
- MetadataArtifactLoaderResource.cs
- LongValidator.cs
- ContentHostHelper.cs
- XmlTextReader.cs
- ReachVisualSerializer.cs
- AsyncOperationManager.cs
- LOSFormatter.cs
- IPPacketInformation.cs
- ThreadStaticAttribute.cs
- FileDialogCustomPlaces.cs
- RemotingAttributes.cs
- FormClosingEvent.cs
- HttpListenerContext.cs
- Metadata.cs
- GridEntryCollection.cs
- WebServiceHandlerFactory.cs
- NonBatchDirectoryCompiler.cs
- HttpModulesSection.cs
- MailAddressCollection.cs
- BypassElementCollection.cs
- WebServiceHandlerFactory.cs
- DiscoveryRequestHandler.cs
- FreezableCollection.cs
- GridItemCollection.cs
- EmptyQuery.cs
- XmlLoader.cs
- TypeBuilderInstantiation.cs
- UInt16Converter.cs
- GradientBrush.cs
- AmbiguousMatchException.cs
- SystemSounds.cs
- RouteParameter.cs
- DuplexSecurityProtocolFactory.cs
- SQLMembershipProvider.cs
- ToolStripContentPanelDesigner.cs
- Point4D.cs
- SlipBehavior.cs
- WSSecurityOneDotOneSendSecurityHeader.cs
- ScrollPatternIdentifiers.cs
- StickyNoteContentControl.cs
- Evidence.cs
- DataGridGeneralPage.cs
- TabControlEvent.cs
- QilVisitor.cs
- PublisherIdentityPermission.cs
- WinEventWrap.cs
- ProtectedConfigurationSection.cs
- NavigationWindow.cs
- DbParameterCollectionHelper.cs
- TableRow.cs
- Geometry3D.cs
- Effect.cs
- ValueProviderWrapper.cs
- codemethodreferenceexpression.cs
- RequestBringIntoViewEventArgs.cs
- WorkflowApplicationAbortedException.cs
- AlternateViewCollection.cs
- Type.cs
- RectangleHotSpot.cs
- RowParagraph.cs
- BamlBinaryReader.cs
- DataBindingValueUIHandler.cs
- JapaneseLunisolarCalendar.cs
- ChangeInterceptorAttribute.cs
- EntityType.cs
- Metadata.cs
- CustomLineCap.cs
- ManagementObjectCollection.cs
- ViewSimplifier.cs
- SpoolingTask.cs
- RightsManagementEncryptedStream.cs
- DataTableClearEvent.cs
- GuidConverter.cs
- FixedSOMTableCell.cs
- DebugInfoExpression.cs
- EditorAttribute.cs
- ToolboxItem.cs
- DataTemplateSelector.cs
- ToolStripOverflow.cs
- iisPickupDirectory.cs
- followingquery.cs
- OperatingSystem.cs
- ContentValidator.cs
- WCFServiceClientProxyGenerator.cs
- ConfigXmlReader.cs
- NativeMethods.cs
- Vector3DAnimation.cs
- UserControlCodeDomTreeGenerator.cs
- MultiView.cs
- PersistenceContext.cs
- EventLogEntry.cs
- SqlBuffer.cs
- Activation.cs
- Bold.cs