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
- Clause.cs
- DataGridItem.cs
- XamlFrame.cs
- DataTableNewRowEvent.cs
- BeginStoryboard.cs
- ProjectionRewriter.cs
- ContainerFilterService.cs
- JoinGraph.cs
- DataGridViewCellPaintingEventArgs.cs
- SchemaNotation.cs
- GenerateTemporaryTargetAssembly.cs
- ConditionalAttribute.cs
- IndependentAnimationStorage.cs
- StatusBarPanel.cs
- Claim.cs
- EncryptedReference.cs
- BitmapEffect.cs
- BaseServiceProvider.cs
- PersonalizationStateInfoCollection.cs
- EqualityComparer.cs
- WindowsFormsLinkLabel.cs
- NamespaceList.cs
- COAUTHIDENTITY.cs
- DES.cs
- ServiceDescriptions.cs
- Char.cs
- StringUtil.cs
- TraceListener.cs
- JobInputBins.cs
- Misc.cs
- ReflectPropertyDescriptor.cs
- TypedTableBaseExtensions.cs
- ApplicationGesture.cs
- SortableBindingList.cs
- UnsafeNativeMethods.cs
- InstanceDescriptor.cs
- DynamicDataManager.cs
- HostedTransportConfigurationManager.cs
- PageParserFilter.cs
- Command.cs
- XmlSerializer.cs
- SafeRightsManagementSessionHandle.cs
- FontWeightConverter.cs
- StartUpEventArgs.cs
- SecurityPermission.cs
- MasterPageParser.cs
- CodeMethodReturnStatement.cs
- ToolboxDataAttribute.cs
- NameValueCollection.cs
- FileStream.cs
- DataGridViewCellToolTipTextNeededEventArgs.cs
- IMembershipProvider.cs
- WebBrowserProgressChangedEventHandler.cs
- RequestTimeoutManager.cs
- SortedList.cs
- KeyBinding.cs
- StrokeRenderer.cs
- MouseActionValueSerializer.cs
- BindingCompleteEventArgs.cs
- ListViewCancelEventArgs.cs
- DataContractSerializerOperationFormatter.cs
- PasswordTextNavigator.cs
- LinqDataSourceEditData.cs
- DbCommandTree.cs
- LowerCaseStringConverter.cs
- InkCanvasSelection.cs
- BinarySerializer.cs
- SizeF.cs
- ForceCopyBuildProvider.cs
- NativeMethodsOther.cs
- BamlRecordReader.cs
- PointValueSerializer.cs
- Vector3DConverter.cs
- PtsCache.cs
- SubclassTypeValidator.cs
- BackoffTimeoutHelper.cs
- NumberFunctions.cs
- TreePrinter.cs
- MiniLockedBorderGlyph.cs
- CompiledRegexRunner.cs
- Dispatcher.cs
- SapiRecoInterop.cs
- ReturnValue.cs
- Calendar.cs
- DesignerView.xaml.cs
- WinFormsSecurity.cs
- PanelDesigner.cs
- AuthenticationService.cs
- BuildManagerHost.cs
- CaseKeyBox.xaml.cs
- MediaTimeline.cs
- DataGridViewRowsRemovedEventArgs.cs
- IDataContractSurrogate.cs
- WrapPanel.cs
- X509UI.cs
- ApplyImportsAction.cs
- CollectionType.cs
- WebPartAuthorizationEventArgs.cs
- GridViewRow.cs
- Gdiplus.cs