Если вы хотите проверить TestDataMigrationAttribute
, убедитесь, что вы указали его явный тип при использовании Type.GetCustomAttributes()
:
typeof(MyClass).GetCustomAttributes(typeof(TestDataMigrationAttribute));
GetCustomAttributes
возвращает атрибуты, которые являются или получены из указанного типа атрибута. Если вы используете тип производного атрибута (TestDataMigrationAttribute), вы не найдете базовый атрибут (MigrationAttribute). Если вы используете тип базового атрибута, вы найдете оба атрибута.
Приведенный выше пример вернет атрибут, только если [TestDataMigration]
отмечен в классе, а не если [Migration]
находится в классе.
Если вам нужно проверить случай, когда оба атрибута могут быть определены в классе, но вы хотите, чтобы классы имели только [TestDataMigration]
, то вам придется либо проверить базовый тип атрибута, и проанализировать полученный массив или выполните проверку дважды - один раз для каждого типа атрибута.