| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 | 
							- using System;
 
- using System.Collections.Generic;
 
- namespace XCharts.Runtime
 
- {
 
-     /// <summary>
 
-     /// The attribute for serie data component.
 
-     /// ||可添加到SerieData的组件。
 
-     /// </summary>
 
-     [AttributeUsage(AttributeTargets.Class, AllowMultiple = true)]
 
-     public sealed class SerieDataComponentAttribute : Attribute
 
-     {
 
-         public readonly List<Type> types = new List<Type>();
 
-         public SerieDataComponentAttribute()
 
-         {
 
-         }
 
-         public SerieDataComponentAttribute(Type type1)
 
-         {
 
-             AddType(type1);
 
-         }
 
-         public SerieDataComponentAttribute(Type type1, Type type2)
 
-         {
 
-             AddType(type1);
 
-             AddType(type2);
 
-         }
 
-         public SerieDataComponentAttribute(Type type1, Type type2, Type type3)
 
-         {
 
-             AddType(type1);
 
-             AddType(type2);
 
-             AddType(type3);
 
-         }
 
-         public SerieDataComponentAttribute(Type type1, Type type2, Type type3, Type type4)
 
-         {
 
-             AddType(type1);
 
-             AddType(type2);
 
-             AddType(type3);
 
-             AddType(type4);
 
-         }
 
-         public SerieDataComponentAttribute(Type type1, Type type2, Type type3, Type type4, Type type5)
 
-         {
 
-             AddType(type1);
 
-             AddType(type2);
 
-             AddType(type3);
 
-             AddType(type4);
 
-             AddType(type5);
 
-         }
 
-         public SerieDataComponentAttribute(Type type1, Type type2, Type type3, Type type4, Type type5, Type type6)
 
-         {
 
-             AddType(type1);
 
-             AddType(type2);
 
-             AddType(type3);
 
-             AddType(type4);
 
-             AddType(type5);
 
-             AddType(type6);
 
-         }
 
-         public SerieDataComponentAttribute(Type type1, Type type2, Type type3, Type type4, Type type5, Type type6, Type type7)
 
-         {
 
-             AddType(type1);
 
-             AddType(type2);
 
-             AddType(type3);
 
-             AddType(type4);
 
-             AddType(type5);
 
-             AddType(type6);
 
-             AddType(type7);
 
-         }
 
-         private void AddType(Type type)
 
-         {
 
-             if (!SerieData.extraComponentMap.ContainsKey(type))
 
-                 throw new ArgumentException("SerieData not support extra component:" + type);
 
-             types.Add(type);
 
-         }
 
-         public bool Contains<T>() where T : ISerieComponent
 
-         {
 
-             return Contains(typeof(T));
 
-         }
 
-         public bool Contains(Type type)
 
-         {
 
-             return types.Contains(type);
 
-         }
 
-     }
 
- }
 
 
  |