Errore del compilatore CS0524

'type': le interfacce non possono dichiarare tipi

Prima di C# 8.0, un'interfaccia non poteva contenere tipi definiti dall'utente. A partire da C# 8.0, le interfacce possono dichiarare tipi annidati come parte della funzionalità dei membri di interfaccia predefinita.

In C# moderno (C# 8.0 e versioni successive), questo errore non viene più generato per i tipi annidati nelle interfacce. Il compilatore consente ora alle interfacce di contenere classi annidate, struct, interfacce, enumerazioni e delegati.

Esempio cronologico

L'esempio seguente genera l'errore CS0524 nelle versioni C# precedenti alla 8.0, ma è valido nelle versioni C# moderne:

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

Vedere anche