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
- ConfigXmlSignificantWhitespace.cs
- infer.cs
- FigureParaClient.cs
- TextViewBase.cs
- GlyphsSerializer.cs
- TableLayoutColumnStyleCollection.cs
- NumericPagerField.cs
- TextParagraphView.cs
- EditorZone.cs
- HtmlAnchor.cs
- Update.cs
- ImageListStreamer.cs
- DataSourceControl.cs
- IisTraceListener.cs
- webproxy.cs
- AbsoluteQuery.cs
- DataStreamFromComStream.cs
- DataControlFieldCollection.cs
- DynamicILGenerator.cs
- _LocalDataStore.cs
- ListViewDeletedEventArgs.cs
- basemetadatamappingvisitor.cs
- NetWebProxyFinder.cs
- WebPartConnectionsConfigureVerb.cs
- ImmComposition.cs
- DesignerOptionService.cs
- CellTreeNode.cs
- FragmentQueryProcessor.cs
- GraphicsPath.cs
- DataGridTable.cs
- X509RecipientCertificateServiceElement.cs
- XmlQuerySequence.cs
- SessionStateUtil.cs
- ExpressionPrefixAttribute.cs
- WindowProviderWrapper.cs
- CodeSnippetCompileUnit.cs
- DataGridViewCheckBoxCell.cs
- MethodBuilder.cs
- RoutedUICommand.cs
- InputBinder.cs
- PersonalizationProviderCollection.cs
- MetadataHelper.cs
- SortDescription.cs
- AttributeTableBuilder.cs
- OleAutBinder.cs
- ConsumerConnectionPointCollection.cs
- XmlAttribute.cs
- GeneralTransform.cs
- RawStylusActions.cs
- ToolStripContainerActionList.cs
- GeneralTransform3DGroup.cs
- DescendantBaseQuery.cs
- CompoundFileReference.cs
- ObjectStorage.cs
- ProgressPage.cs
- VsPropertyGrid.cs
- HebrewCalendar.cs
- AuthenticationSection.cs
- PropertyBuilder.cs
- DataColumnChangeEvent.cs
- GridLengthConverter.cs
- MsmqBindingMonitor.cs
- DataGridViewHitTestInfo.cs
- SocketException.cs
- Binding.cs
- AttributeCollection.cs
- PassportIdentity.cs
- TransactedBatchingBehavior.cs
- PrePostDescendentsWalker.cs
- Rotation3D.cs
- FixedSOMGroup.cs
- ComponentGlyph.cs
- Command.cs
- OleDbPropertySetGuid.cs
- StrokeNode.cs
- CoreChannel.cs
- WinOEToolBoxItem.cs
- ConvertBinder.cs
- HtmlMeta.cs
- HotSpotCollection.cs
- DeobfuscatingStream.cs
- LinkUtilities.cs
- FormViewUpdateEventArgs.cs
- MarkupCompilePass2.cs
- AutomationTextAttribute.cs
- DesignTimeData.cs
- RtfToXamlLexer.cs
- BitmapPalettes.cs
- RoleManagerModule.cs
- UniqueID.cs
- InternalDuplexChannelFactory.cs
- ProfileGroupSettings.cs
- AdjustableArrowCap.cs
- HTTPRemotingHandler.cs
- BitmapCacheBrush.cs
- CacheMemory.cs
- OletxCommittableTransaction.cs
- SelectionItemPatternIdentifiers.cs
- XmlSerializerFactory.cs
- NetCodeGroup.cs