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
- PageBreakRecord.cs
- StringCollectionMarkupSerializer.cs
- PointF.cs
- ViewValidator.cs
- Inline.cs
- OSFeature.cs
- DesignerAutoFormat.cs
- ItemsPanelTemplate.cs
- Rect.cs
- WebScriptMetadataMessageEncoderFactory.cs
- InstanceKeyView.cs
- TypeElement.cs
- ByteViewer.cs
- TableLayoutPanelCellPosition.cs
- InternalConfigEventArgs.cs
- HtmlSelect.cs
- RoutedEventHandlerInfo.cs
- TextRangeEdit.cs
- SslStream.cs
- ScriptRegistrationManager.cs
- IssuedTokenParametersEndpointAddressElement.cs
- TextDecorationCollection.cs
- Cell.cs
- FlowPosition.cs
- GatewayIPAddressInformationCollection.cs
- ActivityWithResult.cs
- Control.cs
- Quaternion.cs
- X509ServiceCertificateAuthentication.cs
- OptimizerPatterns.cs
- EdmScalarPropertyAttribute.cs
- DependencyPropertyConverter.cs
- XmlReader.cs
- RbTree.cs
- SystemPens.cs
- ObjectListItemCollection.cs
- WorkflowOperationContext.cs
- TextBlockAutomationPeer.cs
- CompilerResults.cs
- WithParamAction.cs
- TableFieldsEditor.cs
- EndpointIdentity.cs
- Currency.cs
- SafeRegistryKey.cs
- ProfilePropertyMetadata.cs
- DispatcherHooks.cs
- DynamicPropertyHolder.cs
- ReliableMessagingVersionConverter.cs
- CacheDict.cs
- SqlBinder.cs
- ScrollEventArgs.cs
- Int64.cs
- EncodingNLS.cs
- IdnMapping.cs
- ToolboxItemSnapLineBehavior.cs
- LayoutEvent.cs
- SqlUserDefinedTypeAttribute.cs
- GeneralEndpointIdentity.cs
- DecimalStorage.cs
- StrokeCollection2.cs
- CaseStatement.cs
- RightsDocument.cs
- NamespaceMapping.cs
- HttpCapabilitiesSectionHandler.cs
- SpellerStatusTable.cs
- FrameAutomationPeer.cs
- WebMessageBodyStyleHelper.cs
- mansign.cs
- CollectionViewGroupInternal.cs
- DesignerForm.cs
- DBConnectionString.cs
- COAUTHINFO.cs
- MLangCodePageEncoding.cs
- Point3DAnimation.cs
- StoreItemCollection.Loader.cs
- DataBoundControl.cs
- NativeMethods.cs
- DirectoryObjectSecurity.cs
- XmlNamespaceDeclarationsAttribute.cs
- SQLByteStorage.cs
- OdbcPermission.cs
- StateChangeEvent.cs
- DefaultShape.cs
- FieldAccessException.cs
- PrintingPermission.cs
- CloudCollection.cs
- TextEditorContextMenu.cs
- HashMembershipCondition.cs
- Quad.cs
- PropertyChangeTracker.cs
- DataBindingCollection.cs
- TreeViewItemAutomationPeer.cs
- TemplatePropertyEntry.cs
- ContainerCodeDomSerializer.cs
- XmlEnumAttribute.cs
- ChildrenQuery.cs
- FunctionImportMapping.cs
- GroupAggregateExpr.cs
- ApplicationProxyInternal.cs
- FlowLayout.cs