FormField.cs
上传用户:husern
上传日期:2022-03-24
资源大小:534k
文件大小:3k
源码类别:

编辑器/阅读器

开发平台:

C#

  1. // -- FILE ------------------------------------------------------------------
  2. // name       : FormField.cs
  3. // project    : Itenso Web User Forms
  4. // created    : Jani Giannoudis - 2008.10.30
  5. // language   : c#
  6. // environment: .NET 2.0
  7. // copyright  : (c) 2008 by Itenso GmbH, Switzerland
  8. // --------------------------------------------------------------------------
  9. using System;
  10. using Itenso.WebUserForms.Data.Variable;
  11. namespace Itenso.WebUserForms.Data.Form
  12. {
  13. // ------------------------------------------------------------------------
  14. public sealed class FormField : FormEntity, IFormField
  15. {
  16. // ----------------------------------------------------------------------
  17. /// <summary>
  18. /// for internal use only!
  19. /// </summary>
  20. public FormField() 
  21. : base( FormEntityType.Field )
  22. {
  23. } // FormField
  24. // ----------------------------------------------------------------------
  25. public FormField( string name )
  26. : this( name, null )
  27. {
  28. } // FormField
  29. // ----------------------------------------------------------------------
  30. public FormField( string name, string content ) 
  31. : base( FormEntityType.Field, name )
  32. {
  33. this.content = content;
  34. } // FormField
  35. // ----------------------------------------------------------------------
  36. public FormField( FormField copy ) 
  37. : base( copy )
  38. {
  39. this.content = copy.content;
  40. } // FormField
  41. // ----------------------------------------------------------------------
  42. protected override IFormEntity DoDuplicate()
  43. {
  44. return new FormField( this );
  45. } // DoDuplicate
  46. // ----------------------------------------------------------------------
  47. public IFormField Duplicate()
  48. {
  49. return DoDuplicate() as IFormField;
  50. } // Duplicate
  51. // ----------------------------------------------------------------------
  52. public string Content
  53. {
  54. get { return this.content; }
  55. set { this.content = value; }
  56. } // Content
  57. // ----------------------------------------------------------------------
  58. protected override void DoExpandVariables( IVariableSet varSet )
  59. {
  60. this.content = varSet.Expand( this.content );
  61. } // DoExpandVariables
  62. // ----------------------------------------------------------------------
  63. public override bool Equals( object obj )
  64. {
  65. bool equal = false;
  66. FormField compare = obj as FormField;
  67. if ( compare != null )
  68. {
  69. equal = base.Equals( obj ) &&
  70. Object.Equals( this.content, compare.content );
  71. }
  72. return equal;
  73. } // Equals
  74. // ----------------------------------------------------------------------
  75. public override int GetHashCode()
  76. {
  77. int hash = base.GetHashCode();
  78. hash = HashTool.AddHashCode( hash, this.content );
  79. return hash;
  80. } // GetHashCode
  81. // ----------------------------------------------------------------------
  82. public override string ToString()
  83. {
  84. return base.ToString() + "='" + this.content + "'";
  85. } // ToString
  86. // ----------------------------------------------------------------------
  87. // members
  88. private string content;
  89. } // class FormField
  90. } // namespace Itenso.WebUserForms.Data.Form
  91. // -- EOF -------------------------------------------------------------------