Errore del compilatore C3225
L'argomento di tipo generico per 'arg' non può essere 'type', deve essere un tipo valore o un tipo handle
L'argomento di tipo generico non era del tipo corretto.
Per altre informazioni, vedere Generics.
Esempi
Non è possibile creare un'istanza di un tipo generico con un tipo nativo. L'esempio seguente genera l'errore 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
}
L'esempio seguente crea un componente usando C#. Si noti che il vincolo specifica che il tipo generico può essere creato solo con un tipo valore.
// C3225_b.cs
// compile with: /target:library
// a C# program
public class MyList<T> where T: struct {}
Questo esempio usa il componente creato da C#e viola il vincolo di cui è possibile creare un'istanza solo con un tipo di valore diverso da Nullable. L'esempio seguente genera l'errore 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
}