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

编辑器/阅读器

开发平台:

C#

  1. // -- FILE ------------------------------------------------------------------
  2. // name       : FormItemBase.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.Lookup
  12. {
  13. // ------------------------------------------------------------------------
  14. public class LookupValue : ILookupValue
  15. {
  16. // ----------------------------------------------------------------------
  17. public LookupValue( string value )
  18. : this( value, value )
  19. {
  20. } // LookupValue
  21. // ----------------------------------------------------------------------
  22. public LookupValue( string key, object value )
  23. {
  24. if ( string.IsNullOrEmpty( key ) )
  25. {
  26. throw new ArgumentException( "key" );
  27. }
  28. if ( value == null )
  29. {
  30. throw new ArgumentNullException( "value" );
  31. }
  32. this.key = key;
  33. this.value = value;
  34. } // LookupValue
  35. // ----------------------------------------------------------------------
  36. public string Key
  37. {
  38. get { return this.key; }
  39. } // Key
  40. // ----------------------------------------------------------------------
  41. public object Value
  42. {
  43. get { return this.value; }
  44. } // Value
  45. // ----------------------------------------------------------------------
  46. public override bool Equals( object obj )
  47. {
  48. bool equal = false;
  49. LookupValue compare = obj as LookupValue;
  50. if ( compare != null )
  51. {
  52. equal =
  53. Object.Equals( this.key, compare.key ) &&
  54. Object.Equals( this.value, compare.value );
  55. }
  56. return equal;
  57. } // Equals
  58. // ----------------------------------------------------------------------
  59. public override int GetHashCode()
  60. {
  61. int hash = GetType().GetHashCode();
  62. hash = HashTool.AddHashCode( hash, key );
  63. hash = HashTool.AddHashCode( hash, value );
  64. return hash;
  65. } // GetHashCode
  66. // ----------------------------------------------------------------------
  67. public override string ToString()
  68. {
  69. return key + "=" + value.ToString();
  70. } // ToString
  71. // ----------------------------------------------------------------------
  72. // members
  73. private readonly string key;
  74. private readonly object value;
  75. } // class FormItemBase
  76. } // namespace Itenso.WebUserForms.Data.Lookup
  77. // -- EOF -------------------------------------------------------------------