c #: o que é uma expressão constante?

Estou trabalhando com atributos no momento. Muitas vezes, me deparo com o erro "Um argumento de atributo deve ser uma expressão constante, tipo de expressão ou expressão de criação de matriz de um tipo de parâmetro de atributo." Eu realmente não sei o que significa "expressão constante".

Teria sido realmente útil poder passar em umFunc<MyType, bool> para o atributo (a ser consumido pelo código que é executado quando o atributo está presente). Mas ai, não. Eu não entendo porque esse tipo não pode ser colocado em metadados de assembly, o que eu assumo é a razão pela qual não posso passá-lo para o atributo.

Alguém pode me dar alguma ideia?

questionAnswers(4)

yourAnswerToTheQuestion