XmlCharacterData.cs 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. //
  2. // System.Xml.XmlCharacterData.cs
  3. //
  4. // Author:
  5. // Jason Diamond <[email protected]>
  6. //
  7. // (C) 2002 Jason Diamond http://injektilo.org/
  8. //
  9. using System;
  10. namespace System.Xml
  11. {
  12. public abstract class XmlCharacterData : XmlLinkedNode
  13. {
  14. private string data;
  15. #region Constructor
  16. protected internal XmlCharacterData (string data, XmlDocument doc)
  17. : base (doc)
  18. {
  19. if (data == null)
  20. data = String.Empty;
  21. this.data = data;
  22. }
  23. #endregion
  24. #region Properties
  25. public virtual string Data {
  26. get { return data; }
  27. set { data = value; }
  28. }
  29. public override string InnerText {
  30. get { return data; }
  31. set { data = value; }
  32. }
  33. public virtual int Length {
  34. get { return data != null ? data.Length : 0; }
  35. }
  36. public override string Value {
  37. get {
  38. if (IsReadOnly)
  39. throw new ArgumentException ("Node is read-only.");
  40. return data; }
  41. set { data = value; }
  42. }
  43. #endregion
  44. #region Methods
  45. [MonoTODO]
  46. public virtual void AppendData (string strData)
  47. {
  48. throw new NotImplementedException ();
  49. }
  50. [MonoTODO]
  51. public virtual void DeleteData (int offset, int count)
  52. {
  53. throw new NotImplementedException ();
  54. }
  55. [MonoTODO]
  56. public virtual void InsertData (int offset, string strData)
  57. {
  58. throw new NotImplementedException ();
  59. }
  60. [MonoTODO]
  61. public virtual void ReplaceData (int offset, int count, string strData)
  62. {
  63. throw new NotImplementedException();
  64. }
  65. public virtual string Substring (int offset, int count)
  66. {
  67. return data.Substring (offset, count);
  68. }
  69. #endregion
  70. }
  71. }