Возможный дубликат:
Укажите требуемую базу класс для целевых атрибутов .NET
Я хочу указать, что мой настраиваемый атрибут действителен только для определенных типов (на основе интерфейса или базового класса).
Вот так:
Как я могу это сделать?
Возможный дубликат:
Укажите требуемую базу класс для целевых атрибутов .NET
Я хочу указать, что мой настраиваемый атрибут действителен только для определенных типов (на основе интерфейса или базового класса).
Вот так:
Как я могу это сделать?
Похоже, вы хотите создать Attribute
, который можно применять только к определенным типам, во многом так же, как AttributeUsage
можно применять только к типам, производным от Attribute
. Введение этого типа пользовательских ограничений просто невозможно. Конкретная ошибка, которую вы видите, связана не с пользовательским ограничением, а с тем, что просто жестко встроено в сам компилятор.
Я не думаю, что вы можете, вы можете только указать, для какого типа языкового элемента допустим атрибут. AttributeUsageAttribute
- это особый случай, потому что компилятор знает об этом и не позволяет вам применять его к чему-то, что не является атрибутом