| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 | 
							- using System;
 
- using System.Collections.Generic;
 
- namespace XCharts.Runtime
 
- {
 
-     /// <summary>
 
-     /// The attribute for serie component.
 
-     /// ||可添加到Serie的组件。
 
-     /// </summary>
 
-     [AttributeUsage(AttributeTargets.Class, AllowMultiple = true)]
 
-     public sealed class SerieComponentAttribute : Attribute
 
-     {
 
-         public readonly List<Type> types = new List<Type>();
 
-         public SerieComponentAttribute()
 
-         { }
 
-         public SerieComponentAttribute(Type type1)
 
-         {
 
-             AddType(type1);
 
-         }
 
-         public SerieComponentAttribute(Type type1, Type type2)
 
-         {
 
-             AddType(type1);
 
-             AddType(type2);
 
-         }
 
-         public SerieComponentAttribute(Type type1, Type type2, Type type3)
 
-         {
 
-             AddType(type1);
 
-             AddType(type2);
 
-             AddType(type3);
 
-         }
 
-         public SerieComponentAttribute(Type type1, Type type2, Type type3, Type type4)
 
-         {
 
-             AddType(type1);
 
-             AddType(type2);
 
-             AddType(type3);
 
-             AddType(type4);
 
-         }
 
-         public SerieComponentAttribute(Type type1, Type type2, Type type3, Type type4, Type type5)
 
-         {
 
-             AddType(type1);
 
-             AddType(type2);
 
-             AddType(type3);
 
-             AddType(type4);
 
-             AddType(type5);
 
-         }
 
-         public SerieComponentAttribute(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 SerieComponentAttribute(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 (!Serie.extraComponentMap.ContainsKey(type))
 
-                 throw new ArgumentException("Serie 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);
 
-         }
 
-     }
 
- }
 
 
  |