Ingen beskrivning
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

SerieDataExtraFieldAttribute.cs 2.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. using System;
  2. using System.Collections.Generic;
  3. namespace XCharts.Runtime
  4. {
  5. [AttributeUsage(AttributeTargets.Class, AllowMultiple = true)]
  6. public sealed class SerieDataExtraFieldAttribute : Attribute
  7. {
  8. public readonly List<string> fields = new List<string>();
  9. public SerieDataExtraFieldAttribute()
  10. { }
  11. public SerieDataExtraFieldAttribute(string field1)
  12. {
  13. AddFiled(field1);
  14. }
  15. public SerieDataExtraFieldAttribute(string field1, string field2)
  16. {
  17. AddFiled(field1);
  18. AddFiled(field2);
  19. }
  20. public SerieDataExtraFieldAttribute(string field1, string field2, string field3)
  21. {
  22. AddFiled(field1);
  23. AddFiled(field2);
  24. AddFiled(field3);
  25. }
  26. public SerieDataExtraFieldAttribute(string field1, string field2, string field3, string field4)
  27. {
  28. AddFiled(field1);
  29. AddFiled(field2);
  30. AddFiled(field3);
  31. AddFiled(field4);
  32. }
  33. public SerieDataExtraFieldAttribute(string field1, string field2, string field3, string field4, string field5)
  34. {
  35. AddFiled(field1);
  36. AddFiled(field2);
  37. AddFiled(field3);
  38. AddFiled(field4);
  39. AddFiled(field5);
  40. }
  41. public SerieDataExtraFieldAttribute(string field1, string field2, string field3, string field4, string field5, string field6)
  42. {
  43. AddFiled(field1);
  44. AddFiled(field2);
  45. AddFiled(field3);
  46. AddFiled(field4);
  47. AddFiled(field5);
  48. AddFiled(field6);
  49. }
  50. public SerieDataExtraFieldAttribute(string field1, string field2, string field3, string field4, string field5, string field6, string field7)
  51. {
  52. AddFiled(field1);
  53. AddFiled(field2);
  54. AddFiled(field3);
  55. AddFiled(field4);
  56. AddFiled(field5);
  57. AddFiled(field6);
  58. AddFiled(field7);
  59. }
  60. private void AddFiled(string field)
  61. {
  62. if (!SerieData.extraFieldList.Contains(field))
  63. throw new ArgumentException("SerieData not support field:" + field);
  64. fields.Add(field);
  65. }
  66. public bool Contains(string field)
  67. {
  68. return fields.Contains(field);
  69. }
  70. }
  71. }