| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586 |
- //------------------------------------------------------------
- // 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.Schema;
- using System.Xml.Serialization;
- using System.Runtime.CompilerServices;
- // NOTE: This class implements Clone so if you add any members, please update the copy ctor
- [TypeForwardedFrom("System.ServiceModel.Web, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35")]
- public class TextSyndicationContent : SyndicationContent
- {
- string text;
- TextSyndicationContentKind textKind;
- public TextSyndicationContent(string text) : this(text, TextSyndicationContentKind.Plaintext)
- {
- }
- public TextSyndicationContent(string text, TextSyndicationContentKind textKind)
- {
- if (!TextSyndicationContentKindHelper.IsDefined(textKind))
- {
- throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(new ArgumentOutOfRangeException("textKind"));
- }
- this.text = text;
- this.textKind = textKind;
- }
- protected TextSyndicationContent(TextSyndicationContent source)
- : base(source)
- {
- if (source == null)
- {
- throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("source");
- }
- this.text = source.text;
- this.textKind = source.textKind;
- }
- public string Text
- {
- get { return this.text; }
- }
- public override string Type
- {
- get
- {
- switch (this.textKind)
- {
- case TextSyndicationContentKind.Html:
- return Atom10Constants.HtmlType;
- case TextSyndicationContentKind.XHtml:
- return Atom10Constants.XHtmlType;
- default:
- return Atom10Constants.PlaintextType;
- }
- }
- }
- public override SyndicationContent Clone()
- {
- return new TextSyndicationContent(this);
- }
- protected override void WriteContentsTo(XmlWriter writer)
- {
- string val = this.text ?? string.Empty;
- if (this.textKind == TextSyndicationContentKind.XHtml)
- {
- writer.WriteRaw(val);
- }
- else
- {
- writer.WriteString(val);
- }
- }
- }
- }
|