На самом деле в некоторых случаях вы можете настроить атрибуты во время выполнения - например, через TypeDescriptor
- но это влияет только на использование ComponentModel, а не на отражение. Вы также можете написать сам атрибут для выполнения таких задач, как поиск по resx для целей i18n.
Но другие варианты:
- возможно статическое свойство, возможно, в соответствии с соглашением об именах
- отдельная объектная модель, которая говорит о типах - метамодель, так сказать
- файл конфигурации или аналогичный
Любой будет работать; что лучше всего зависит от того, что вы имеете в виду.