Преобразование <тип1> в <тип2> не может осуществляться в константном выражении, используемом в качестве аргумента для атрибута
Обновлен: Ноябрь 2007
Conversion from '<type1>' to '<type2>' cannot occur in a constant expression used as an argument to an attribute
Выражение, используемое для аргумента атрибута, приводится к типу данных, отличному от соответствующего параметра атрибута, но в Visual Basic не допускается преобразование требуемого типа для аргументов атрибута.
Атрибут содержит метаданные для элемента, к которому он применяется, и компилятор должен быть способен создать все метаданные во время компиляции. По этой причине каждый атрибут должен использовать значения, которые постоянны во время компиляции. Таким образом, каждый аргумент атрибута должен принимать постоянные значение во время компиляции.
Некоторые преобразования типов не создают значений, которые являются постоянными во время компиляции. Например преобразование String к Double или к Date зависит от языковых стандартов, используемых во время выполнения. Другие преобразования, например из массива производного типа к массив типа Object, порождают различные ошибки, не допускающие их применения к аргументам атрибутов во время компиляции.
Идентификатор ошибки: BC30934
Чтобы исправить эту ошибку
- Используйте выражение, результатом которого является тот же тип данных, что и соответствующий параметр, который определяется атрибутами.