DataMemberAttribute.cs 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. //------------------------------------------------------------
  2. // Copyright (c) Microsoft Corporation. All rights reserved.
  3. //------------------------------------------------------------
  4. namespace System.Runtime.Serialization
  5. {
  6. [AttributeUsage(AttributeTargets.Field | AttributeTargets.Property, Inherited = false, AllowMultiple = false)]
  7. public sealed class DataMemberAttribute : Attribute
  8. {
  9. string name;
  10. bool isNameSetExplicitly;
  11. int order = -1;
  12. bool isRequired;
  13. bool emitDefaultValue = Globals.DefaultEmitDefaultValue;
  14. public DataMemberAttribute()
  15. {
  16. }
  17. public string Name
  18. {
  19. get { return name; }
  20. set { name = value; isNameSetExplicitly = true; }
  21. }
  22. public bool IsNameSetExplicitly
  23. {
  24. get { return isNameSetExplicitly; }
  25. }
  26. public int Order
  27. {
  28. get { return order; }
  29. set
  30. {
  31. if (value < 0)
  32. throw System.Runtime.Serialization.DiagnosticUtility.ExceptionUtility.ThrowHelperError(new InvalidDataContractException(SR.GetString(SR.OrderCannotBeNegative)));
  33. order = value;
  34. }
  35. }
  36. public bool IsRequired
  37. {
  38. get { return isRequired; }
  39. set { isRequired = value; }
  40. }
  41. public bool EmitDefaultValue
  42. {
  43. get { return emitDefaultValue; }
  44. set { emitDefaultValue = value; }
  45. }
  46. }
  47. }