Error del compilador CS0455

Actualización: noviembre 2007

Mensaje de error

El parámetro de tipo 'nombre del parámetro de tipo' hereda las restricciones conflictivas 'Nombre de restricción 1' y 'Nombre de restricción 2'
Type parameter 'Type Parameter Name' inherits conflicting constraints 'Constraint Name 1' and 'Constraint Name 2'

Dos motivos habituales por los que se obtiene este error son la configuración de restricciones para que el parámetro de tipo se derive de dos clases no relacionadas, o para que se derive al mismo tiempo de una restricción de tipo de referencia o tipo de clase y una restricción de tipo de valor o tipo struct. Para resolver este error, evite este conflicto en la jerarquía de herencia.

Ejemplo

En el siguiente código se genera el error CS0455.

// CS0455.cs
using System;

public class GenericsErrors {
    public class B { }
    public class B2 { }
    public class G6<T> where T : B { public class N<U> where U : B2, T { } } // CS0455
}