Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
"type": аргумент атрибута не может использовать параметры типа
Замечания
Параметр универсального типа разрешается во время выполнения. Однако параметр атрибута должен быть разрешен во время компиляции. Поэтому нельзя использовать параметр универсального типа в качестве аргумента атрибута.
Пример
В следующем примере создается C2179.
// C2179.cpp
// compile with: /clr
using namespace System;
public ref struct Attr : Attribute {
Attr(Type ^ a) {
x = a;
}
Type ^ x;
};
ref struct G {};
generic<typename T>
public ref class Z {
public:
Type ^ d;
[Attr(T::typeid)] // C2179
// try the following line instead
// [Attr(G::typeid)]
T t;
};