Error del compilador CS0524

'type': las interfaces no pueden declarar tipos

Antes de C# 8.0, una interfaz no podía contener tipos definidos por el usuario. A partir de C# 8.0, las interfaces pueden declarar tipos anidados como parte de la característica de miembros de interfaz predeterminada.

En C# moderno (C# 8.0 y versiones posteriores), este error ya no se genera para los tipos anidados en las interfaces. El compilador ahora permite que las interfaces contengan clases anidadas, estructuras, interfaces, enumeraciones y delegados.

Ejemplo histórico

El ejemplo siguiente genera la advertencia CS0524 en versiones de C# anteriores a la 8.0, pero es válida en versiones modernas de C#:

// This code is valid in C# 8.0 and later
public interface IExample  
{  
    public class NestedClass   // Valid since C# 8.0
    {  
    }  
}  

Consulte también