Задать допустимый тип для аттрибута

Можно ли в пользовательском аттрибуте указать допустимые типы к которым он может применяться ?

К примеру у меня есть класс с рядом полей, некоторые int, некоторые bool и мй пользовательский аттрибут. Я хочу что бы при его применении к полям типизированным int, программа компилировалась, а если его же применить к типу bool - программа выдвавлв бы ошибку компиляции.

Для наглядности вот пример чего я хочу добиться:

[AttributeUsage(AttributeTargets.Field | AttributeTargets.Property, AllowMultiple = false, Inherited = false)]
public class MyTypeFilterAttribute : System.Attribute
{
    public MyTypeFilterAttribute(Type t) { }
}

class MyClass
{
    [MyTypeFilter(typeof(int))]
    int Correct;
    [MyTypeFilter(typeof(bool))]
    bool CorrectToo;

    [MyTypeFilter(typeof(int))]
    bool CompilationError;
}

Ответы (0 шт):