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
- CounterSampleCalculator.cs
- InstalledFontCollection.cs
- BuildProviderCollection.cs
- ContentElementAutomationPeer.cs
- _ChunkParse.cs
- DataStreamFromComStream.cs
- BooleanExpr.cs
- TaskbarItemInfo.cs
- DesignerVerbCollection.cs
- GradientStop.cs
- FileDocument.cs
- EdmProperty.cs
- TableRowGroup.cs
- StreamGeometry.cs
- SecureStringHasher.cs
- Rectangle.cs
- ProfilePropertyNameValidator.cs
- SqlDataSourceTableQuery.cs
- TraceContextRecord.cs
- KeyValuePair.cs
- SqlDuplicator.cs
- Aes.cs
- NativeMethods.cs
- EntityModelSchemaGenerator.cs
- BindingExpression.cs
- LexicalChunk.cs
- RoleManagerModule.cs
- ListSortDescriptionCollection.cs
- DrawingDrawingContext.cs
- MenuItemStyleCollection.cs
- Maps.cs
- XmlDigitalSignatureProcessor.cs
- IriParsingElement.cs
- PenContexts.cs
- TransformGroup.cs
- RenderDataDrawingContext.cs
- ControlUtil.cs
- StrokeRenderer.cs
- TextComposition.cs
- XmlObjectSerializerWriteContext.cs
- TrackingAnnotationCollection.cs
- XmlReflectionMember.cs
- TextFormatterImp.cs
- CodeExporter.cs
- TextBoxAutomationPeer.cs
- LayoutUtils.cs
- DataMisalignedException.cs
- OnOperation.cs
- hresults.cs
- ConnectionProviderAttribute.cs
- SafeCertificateStore.cs
- CodePropertyReferenceExpression.cs
- DynamicDataRoute.cs
- LineSegment.cs
- ObjectSecurity.cs
- XsltContext.cs
- UnsafeNativeMethods.cs
- KeyConverter.cs
- XmlSchemaSimpleContentRestriction.cs
- IDReferencePropertyAttribute.cs
- WebEventTraceProvider.cs
- LocatorPart.cs
- BadImageFormatException.cs
- ValidatorUtils.cs
- DataList.cs
- Stylesheet.cs
- BufferAllocator.cs
- ReceiveActivityDesignerTheme.cs
- Error.cs
- DesignerVerbCollection.cs
- DiagnosticTrace.cs
- _FixedSizeReader.cs
- StorageModelBuildProvider.cs
- ObjectListItemCollection.cs
- GlobalItem.cs
- RegexMatchCollection.cs
- RelationshipConverter.cs
- CompiledQuery.cs
- ExpressionBuilderCollection.cs
- LocatorGroup.cs
- IntPtr.cs
- ThemeDirectoryCompiler.cs
- MappingMetadataHelper.cs
- SqlRetyper.cs
- SocketInformation.cs
- CodeDelegateInvokeExpression.cs
- IntSecurity.cs
- updatecommandorderer.cs
- ValidationSummaryDesigner.cs
- ToolStripItemEventArgs.cs
- XmlCodeExporter.cs
- DynamicDiscoveryDocument.cs
- InkCanvas.cs
- SQlBooleanStorage.cs
- SqlDataReader.cs
- PageTheme.cs
- SharedUtils.cs
- Margins.cs
- ComponentManagerBroker.cs
- RecordConverter.cs