ConvertibleAttribute
using System;
namespace Castle.MicroKernel.SubSystems.Conversion
{
[AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Interface, Inherited = false, AllowMultiple = false)]
public class ConvertibleAttribute : Attribute
{
private readonly Type converterType;
public Type ConverterType => converterType;
public ConvertibleAttribute()
: this(typeof(DefaultComplexConverter))
{
}
public ConvertibleAttribute(Type converterType)
{
if (!typeof(ITypeConverter).IsAssignableFrom(converterType))
throw new ArgumentException("converterType must implement ITypeConverter interface", "converterType");
this.converterType = converterType;
}
}
}