Здесь ошибка компилятора на MSDN .
Вы можете использовать только следующие типы в соответствии с Учебник атрибутов :
Параметры атрибута ограничены
постоянные значения следующих
Типы:
- Simple types (bool, byte, char, short, int, long, float, and double)
- string
- System.Type
- enums
- object (The argument to an attribute parameter of type object must be a constant value of one of the above types.)
* One-dimensional arrays of any of the above types
Что означает, что в вашем случае вы не можете использовать:
- Nullable Double.
- Обнуляемый DateTime.
- DateTime.
Я бы посоветовал использовать int или перечисление для Приоритета, так как приоритет не является хорошим кандидатом для того, чтобы быть двойником.
Вы можете обойти DateTime, изменив его тип на long и присвоив ему Ticks.
Но я сомневаюсь, что C # позволяет вам присвоить непостоянные значения для атрибутов при их применении (и новый DateTime (1234,5,6) .Ticks не является константой с этой точки зрения).