PersistenceModeAttribute.cs 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. //
  2. // System.Web.UI.PersistenceModeAttribute.cs
  3. //
  4. // Duncan Mak ([email protected])
  5. //
  6. // (C) Ximian, Inc.
  7. //
  8. using System;
  9. namespace System.Web.UI {
  10. [AttributeUsage (AttributeTargets.All)]
  11. public sealed class PersistenceModeAttribute : Attribute
  12. {
  13. PersistenceMode mode;
  14. public PersistenceModeAttribute (PersistenceMode mode)
  15. {
  16. this.mode = mode;
  17. }
  18. public static readonly PersistenceModeAttribute Attribute =
  19. new PersistenceModeAttribute (PersistenceMode.Attribute);
  20. public static readonly PersistenceModeAttribute Default =
  21. new PersistenceModeAttribute (PersistenceMode.Attribute);
  22. public static readonly PersistenceModeAttribute EncodedInnerDefaultProperty =
  23. new PersistenceModeAttribute (PersistenceMode.EncodedInnerDefaultProperty);
  24. public static readonly PersistenceModeAttribute InnerDefaultProperty =
  25. new PersistenceModeAttribute (PersistenceMode.InnerDefaultProperty);
  26. public static readonly PersistenceModeAttribute InnerProperty =
  27. new PersistenceModeAttribute (PersistenceMode.InnerProperty);
  28. public PersistenceMode Mode {
  29. get { return mode; }
  30. }
  31. public override bool Equals (object obj)
  32. {
  33. if (!(obj is PersistenceModeAttribute))
  34. return false;
  35. return ((PersistenceModeAttribute) obj).mode == mode;
  36. }
  37. public override int GetHashCode ()
  38. {
  39. return (int) mode;
  40. }
  41. public override bool IsDefaultAttribute ()
  42. {
  43. return (mode == PersistenceMode.Attribute);
  44. }
  45. }
  46. }