Compilerfehler CS0452

Aktualisiert: November 2007

Fehlermeldung

Der "Typname"-Typ muss ein Referenztyp sein, damit er als Parametername-Parameter im generischen Typ oder in der generischen Methode "Bezeichner generischen Typs" verwendet werden kann.
The type 'type name' must be a reference type in order to use it as parameter 'parameter name' in the generic type or method 'identifier of generic'

Dieser Fehler tritt auf, wenn Sie einen Werttyp wie struct oder int als Parameter an einen generischen Typ oder eine Methode übergeben, der bzw. die eine Referenztypeinschränkung besitzt.

Beispiel

Der Fehler CS0452 wird durch folgenden Code generiert.

// CS0452.cs
using System;
public class BaseClass<S> where S : class { }
public class Derived1 : BaseClass<int> { } // CS0452
public class Derived2<S> : BaseClass<S> where S : struct { } // CS0452