Kompilatorfel C2179

"type" : ett attributargument kan inte använda typparametrar

Anmärkningar

En allmän typparameter bestäms vid körning. Dock måste en attributparameter bestämmas vid kompileringstillfället. Därför kan du inte använda en allmän typparameter som argument för ett attribut.

Exempel

I följande exempel genereras 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;
};