Code:
/ WCF / WCF / 3.5.30729.1 / untmp / Orcas / SP / ndp / cdf / src / NetFx35 / System.ServiceModel.Web / System / ServiceModel / Syndication / SyndicationContent.cs / 1 / SyndicationContent.cs
//------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
//-----------------------------------------------------------
namespace System.ServiceModel.Syndication
{
using System;
using System.Collections.Generic;
using System.Text;
using System.Xml;
using System.Xml.Serialization;
using System.Runtime.Serialization;
using System.Diagnostics.CodeAnalysis;
public abstract class SyndicationContent
{
Dictionary attributeExtensions;
protected SyndicationContent()
{
}
protected SyndicationContent(SyndicationContent source)
{
CopyAttributeExtensions(source);
}
public Dictionary AttributeExtensions
{
get
{
if (this.attributeExtensions == null)
{
this.attributeExtensions = new Dictionary();
}
return this.attributeExtensions;
}
}
public abstract string Type
{
get;
}
public static TextSyndicationContent CreateHtmlContent(string content)
{
return new TextSyndicationContent(content, TextSyndicationContentKind.Html);
}
public static TextSyndicationContent CreatePlaintextContent(string content)
{
return new TextSyndicationContent(content);
}
public static UrlSyndicationContent CreateUrlContent(Uri url, string mediaType)
{
return new UrlSyndicationContent(url, mediaType);
}
public static TextSyndicationContent CreateXhtmlContent(string content)
{
return new TextSyndicationContent(content, TextSyndicationContentKind.XHtml);
}
public static XmlSyndicationContent CreateXmlContent(object dataContractObject)
{
return new XmlSyndicationContent(Atom10Constants.XmlMediaType, dataContractObject, (DataContractSerializer) null);
}
public static XmlSyndicationContent CreateXmlContent(object dataContractObject, XmlObjectSerializer dataContractSerializer)
{
return new XmlSyndicationContent(Atom10Constants.XmlMediaType, dataContractObject, dataContractSerializer);
}
public static XmlSyndicationContent CreateXmlContent(XmlReader xmlReader)
{
return new XmlSyndicationContent(xmlReader);
}
public static XmlSyndicationContent CreateXmlContent(object xmlSerializerObject, XmlSerializer serializer)
{
return new XmlSyndicationContent(Atom10Constants.XmlMediaType, xmlSerializerObject, serializer);
}
public abstract SyndicationContent Clone();
public void WriteTo(XmlWriter writer, string outerElementName, string outerElementNamespace)
{
if (writer == null)
{
throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("writer");
}
if (string.IsNullOrEmpty(outerElementName))
{
throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgument(SR2.GetString(SR2.OuterElementNameNotSpecified));
}
writer.WriteStartElement(outerElementName, outerElementNamespace);
writer.WriteAttributeString(Atom10Constants.TypeTag, string.Empty, this.Type);
if (this.attributeExtensions != null)
{
foreach (XmlQualifiedName key in this.attributeExtensions.Keys)
{
if (key.Name == Atom10Constants.TypeTag && key.Namespace == string.Empty)
{
continue;
}
string attrValue;
if (this.attributeExtensions.TryGetValue(key, out attrValue))
{
writer.WriteAttributeString(key.Name, key.Namespace, attrValue);
}
}
}
WriteContentsTo(writer);
writer.WriteEndElement();
}
internal void CopyAttributeExtensions(SyndicationContent source)
{
if (source == null)
{
throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("source");
}
if (source.attributeExtensions != null)
{
foreach (XmlQualifiedName key in source.attributeExtensions.Keys)
{
this.AttributeExtensions.Add(key, source.attributeExtensions[key]);
}
}
}
protected abstract void WriteContentsTo(XmlWriter writer);
}
}
// 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
- SeekStoryboard.cs
- EntityDataSourceWrapper.cs
- BulletedListEventArgs.cs
- SHA384Managed.cs
- PriorityQueue.cs
- EntityConnection.cs
- Int32RectConverter.cs
- FlagsAttribute.cs
- ContextBase.cs
- HttpServerUtilityBase.cs
- TextRunCache.cs
- ProfileParameter.cs
- ComboBoxItem.cs
- VectorCollection.cs
- SiteMapDataSource.cs
- InlineObject.cs
- WebControl.cs
- BitmapFrameEncode.cs
- RtfFormatStack.cs
- BitVector32.cs
- DataGridItemCollection.cs
- XmlDocumentType.cs
- BulletedList.cs
- XmlSchemaCompilationSettings.cs
- SecureStringHasher.cs
- HttpCachePolicy.cs
- QueryStringParameter.cs
- SystemIPInterfaceProperties.cs
- BamlStream.cs
- RetriableClipboard.cs
- WorkflowMarkupSerializationManager.cs
- log.cs
- UrlAuthFailedErrorFormatter.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- SimpleHandlerBuildProvider.cs
- DataServiceExpressionVisitor.cs
- HitTestParameters.cs
- UnlockInstanceAsyncResult.cs
- DeviceFiltersSection.cs
- UnsignedPublishLicense.cs
- TypeSystem.cs
- FrameDimension.cs
- CompModHelpers.cs
- ConvertBinder.cs
- AdornerHitTestResult.cs
- CodeConstructor.cs
- TagPrefixAttribute.cs
- OracleCommandBuilder.cs
- XPathAncestorIterator.cs
- Events.cs
- WorkflowRuntimeSection.cs
- httpapplicationstate.cs
- CodeMemberField.cs
- AsymmetricSignatureFormatter.cs
- HideDisabledControlAdapter.cs
- DataPagerFieldItem.cs
- InkPresenter.cs
- XmlSchemaImport.cs
- TypeDescriptor.cs
- XmlSchemaGroup.cs
- CounterSample.cs
- LateBoundBitmapDecoder.cs
- RadioButtonFlatAdapter.cs
- _DomainName.cs
- TableChangeProcessor.cs
- DtdParser.cs
- AxHost.cs
- XmlBufferReader.cs
- Util.cs
- ColumnTypeConverter.cs
- ADMembershipProvider.cs
- CodeAttributeArgument.cs
- MenuScrollingVisibilityConverter.cs
- ProfileGroupSettingsCollection.cs
- DirectoryInfo.cs
- StateMachineExecutionState.cs
- TextTreeRootNode.cs
- FixedTextBuilder.cs
- Light.cs
- FloaterParaClient.cs
- ZipIOCentralDirectoryFileHeader.cs
- StringComparer.cs
- DocumentViewerAutomationPeer.cs
- Cell.cs
- StatusBar.cs
- ReflectionPermission.cs
- Int64.cs
- TogglePattern.cs
- IndentTextWriter.cs
- IdentityModelStringsVersion1.cs
- SafeSecurityHandles.cs
- GridPatternIdentifiers.cs
- FieldNameLookup.cs
- Panel.cs
- MessageEventSubscriptionService.cs
- ScrollBarRenderer.cs
- SqlClientPermission.cs
- DefinitionUpdate.cs
- ToolStripItemCollection.cs
- _Rfc2616CacheValidators.cs