1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980 |
- using System;
- using System.Collections.Generic;
-
- namespace XCharts.Runtime
- {
- [AttributeUsage(AttributeTargets.Class, AllowMultiple = true)]
- public sealed class SerieExtraComponentAttribute : Attribute
- {
- public readonly List<Type> types = new List<Type>();
-
- public SerieExtraComponentAttribute()
- { }
- public SerieExtraComponentAttribute(Type type1)
- {
- AddType(type1);
- }
- public SerieExtraComponentAttribute(Type type1, Type type2)
- {
- AddType(type1);
- AddType(type2);
- }
- public SerieExtraComponentAttribute(Type type1, Type type2, Type type3)
- {
- AddType(type1);
- AddType(type2);
- AddType(type3);
- }
- public SerieExtraComponentAttribute(Type type1, Type type2, Type type3, Type type4)
- {
- AddType(type1);
- AddType(type2);
- AddType(type3);
- AddType(type4);
- }
- public SerieExtraComponentAttribute(Type type1, Type type2, Type type3, Type type4, Type type5)
- {
- AddType(type1);
- AddType(type2);
- AddType(type3);
- AddType(type4);
- AddType(type5);
- }
- public SerieExtraComponentAttribute(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 SerieExtraComponentAttribute(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 : ISerieExtraComponent
- {
- return Contains(typeof(T));
- }
-
- public bool Contains(Type type)
- {
- return types.Contains(type);
- }
- }
- }
|