using System; namespace XCharts.Runtime { [AttributeUsage(AttributeTargets.Class, AllowMultiple = true)] /// /// What serie can convert to me /// public sealed class SerieConvertAttribute : Attribute { public readonly Type type0; public readonly Type type1; public readonly Type type2; public readonly Type type3; public SerieConvertAttribute(Type serie) { type0 = serie; } public SerieConvertAttribute(Type serie, Type serie2) { type0 = serie; type1 = serie2; } public SerieConvertAttribute(Type serie, Type serie2, Type serie3) { type0 = serie; type1 = serie2; type2 = serie3; } public SerieConvertAttribute(Type serie, Type serie2, Type serie3, Type serie4) { type0 = serie; type1 = serie2; type2 = serie3; type3 = serie4; } public bool Contains() where T : Serie { return Contains(typeof(T)); } public bool Contains(Type type) { return (type == type0 || type == type1 || type == type2 || type == type3); } } }