Files
XCharts/Runtime/Internal/Attributes/SerieConvertAttribute.cs

49 lines
1.3 KiB
C#
Raw Normal View History

2021-12-09 07:12:15 +08:00
using System;
2022-02-19 22:37:57 +08:00
namespace XCharts.Runtime
2021-12-09 07:12:15 +08:00
{
[AttributeUsage(AttributeTargets.Class, AllowMultiple = true)]
2021-12-09 21:35:23 +08:00
/// <summary>
/// What serie can convert to me
/// </summary>
2021-12-09 07:12:15 +08:00
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;
}
2021-12-09 21:35:23 +08:00
public bool Contains<T>() where T : Serie
{
return Contains(typeof(T));
}
public bool Contains(Type type)
2021-12-09 07:12:15 +08:00
{
return (type == type0 || type == type1 || type == type2 || type == type3);
}
}
}