Lire en anglais

Partager via


Erreur du compilateur CS1520

La méthode doit avoir un type de retour

Une méthode qui est déclarée dans une classe, une structure ou une interface doit avoir un type de retour explicite. Dans l’exemple suivant, la méthode IntToString a la valeur renvoyée de chaîne :

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

L’exemple suivant génère l’erreur CS1520 :

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() { }
}  

Et peut être résolu en ajoutant un type de retour à la méthode, par exemple en ajoutant void dans l’exemple ci-dessous :

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

Cette erreur peut aussi se produire quand la casse du nom d’un constructeur diffère de celle la déclaration de classe ou de struct, comme dans l’exemple suivant. Comme le nom n’est pas exactement le même que celui de la classe, le compilateur l’interprète comme une méthode normale, et non comme un constructeur, et génère l’erreur :

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

Voir aussi