Ler em inglês

Compartilhar via


Erro do Compilador CS0452

O tipo "type name" deve ser um tipo de referência para usá-lo como parâmetro "parameter name" no tipo genérico ou no método "identifier of generic"

Esse erro ocorre quando você passa um tipo de valor como struct ou int como parâmetro para um tipo genérico ou método que tem uma restrição de tipo de referência.

Exemplo

O código a seguir gera o erro CS0452.

// 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  

Confira também