Teilen über


Compilerfehler C2179

'type' : Ein Attributargument kann keine Typparameter verwenden.

Bemerkungen

Ein generischer Typparameter wird zur Laufzeit aufgelöst. Ein Attributparameter muss jedoch zur Kompilierungszeit aufgelöst werden. Daher können Sie keinen generischen Typparameter als Argument für ein Attribut verwenden.

Beispiel

Im folgenden Beispiel wird C2179 generiert.

// 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;
};