Leggere in inglese

Condividi tramite


Errore del compilatore CS1520

Il metodo deve avere un tipo restituito

Un metodo dichiarato in una classe, in uno struct o in un'interfaccia deve includere un tipo restituito esplicito. Nell'esempio seguente, il IntToStringmetodo ha un valore restituito di string:

C#
class Test  
{  
    string IntToString(int i)  
    {  
        return i.ToString();  
    }  
}  

L'esempio seguente genera l'errore CS1520:

C#
public class x  
{  
   // Method declaration missing a return type before the name of MyMethod
   // Note: the method is empty for the purposes of this example so as to not add confusion.
   MyMethod() { }
}  

E può essere corretto aggiungendo un tipo restituito al metodo, ad esempio aggiungendo void nell'esempio seguente:

C#
public class x  
{  
   // MyMethod no longer throws an error, because it has a return type -- "void" in this case.
   void MyMethod() { }
}  

In alternativa, l'errore può verificarsi quando la combinazione di maiuscole e minuscole nel nome di un costruttore è diversa da quella della dichiarazione della classe o dello struct, come nell'esempio seguente: Poiché il nome è non esattamente identico a quello della classe, il compilatore lo interpreta come un metodo normale, non come un costruttore, e genera l'errore:

C#
public class Class1  
{  
   // Constructor should be called Class1, not class1  
   public class1()   // CS1520  
   {  
   }  
}  

Vedi anche