XmlArrayAttribute.cs 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. //
  2. // XmlArrayAttribute.cs:
  3. //
  4. // Author:
  5. // John Donagher ([email protected])
  6. //
  7. // (C) 2002 John Donagher
  8. //
  9. using System.Xml.Schema;
  10. using System;
  11. namespace System.Xml.Serialization
  12. {
  13. /// <summary>
  14. /// Summary description for XmlArrayAttribute.
  15. /// </summary>
  16. [AttributeUsage(AttributeTargets.Property | AttributeTargets.Field
  17. | AttributeTargets.Parameter | AttributeTargets.ReturnValue)]
  18. public class XmlArrayAttribute : Attribute
  19. {
  20. private string elementName;
  21. private XmlSchemaForm form;
  22. private bool isNullable;
  23. private string ns;
  24. public XmlArrayAttribute()
  25. {
  26. }
  27. public XmlArrayAttribute(string elementName)
  28. {
  29. ElementName = elementName;
  30. }
  31. public string ElementName
  32. {
  33. get
  34. {
  35. return elementName;
  36. }
  37. set
  38. {
  39. elementName = value;
  40. }
  41. }
  42. public XmlSchemaForm Form
  43. {
  44. get
  45. {
  46. return form;
  47. }
  48. set
  49. {
  50. form = value;
  51. }
  52. }
  53. public bool IsNullable
  54. {
  55. get
  56. {
  57. return isNullable;
  58. }
  59. set
  60. {
  61. isNullable = value;
  62. }
  63. }
  64. public string Namespace
  65. {
  66. get
  67. {
  68. return ns;
  69. }
  70. set
  71. {
  72. ns = value;
  73. }
  74. }
  75. internal void AddKeyHash (System.Text.StringBuilder sb)
  76. {
  77. sb.Append ("XAAT ");
  78. KeyHelper.AddField (sb, 1, ns);
  79. KeyHelper.AddField (sb, 2, elementName);
  80. KeyHelper.AddField (sb, 3, form.ToString(), XmlSchemaForm.None.ToString());
  81. KeyHelper.AddField (sb, 4, isNullable);
  82. sb.Append ('|');
  83. }
  84. }
  85. }