Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
generiskt typargument för "arg" får inte vara "typ", det måste vara en värdetyp eller handtagstyp
Anmärkningar
Argumentet för allmän typ var inte av rätt typ.
Mer information finns i Generiska objekt.
Examples
Du kan inte instansiera en allmän typ med en intern typ. I följande exempel genereras C3225.
// C3225.cpp
// compile with: /clr
class A {};
ref class B {};
generic <class T>
ref class C {};
int main() {
C<A>^ c = gcnew C<A>; // C3225
C<B^>^ c2 = gcnew C<B^>; // OK
}
I följande exempel skapas en komponent med C#. Observera att villkoret anger att den allmänna typen endast kan instansieras med en värdetyp.
// C3225_b.cs
// compile with: /target:library
// a C# program
public class MyList<T> where T: struct {}
Det här exemplet använder komponenten C#-authored och bryter mot villkoret att MyList bara kan instansieras med en annan värdetyp än Nullable. I följande exempel genereras C3225.
// C3225_c.cpp
// compile with: /clr
#using "C3225_b.dll"
ref class A {};
value class B {};
int main() {
MyList<A> x; // C3225
MyList<B> y; // OK
}