Ошибка компилятора CS0452
Обновлен: Ноябрь 2007
Сообщение об ошибке
Для использования в качестве параметра "имя параметра" в универсальном типе или методе "универсальный идентификатор" тип "имя типа" должен быть ссылочным типом
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'
Данная ошибка возникает при передаче типа значения, такого как struct или int, как параметра универсальному типу или методу, имеющему ограничение ссылочного типа.
Пример
Следующий код вызывает ошибку 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