Compilerfehler CS0452

Der Typ "Typname" muss ein Referenztyp sein, damit er als Parametername-Parameter im generischen Typ oder in der generischen Methode "Bezeichner des generischen Elements" verwendet werden kann.

Dieser Fehler tritt auf, wenn Sie einen Werttyp, etwa struct oder int , als Parameter für einen generischen Typ oder eine generische Methode übergeben, der oder die eine Verweistypeinschränkung hat.

Beispiel

Im folgenden Code wird der Fehler CS0452 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  

Weitere Informationen