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
Zusammenarbeit auf GitHub
Die Quelle für diesen Inhalt finden Sie auf GitHub, wo Sie auch Issues und Pull Requests erstellen und überprüfen können. Weitere Informationen finden Sie in unserem Leitfaden für Mitwirkende.