Вы ищете проверку времени компиляции?Если это так, то это невозможно.Перечисление AttributeTargets
(используется с AttributeUsageAttribute
) позволяет определить, куда могут идти атрибуты, и это довольно просто.Во время выполнения вы можете проверить, имеет ли тип тип IEnumerable
, и, если нет, выдать исключение.