Číst v angličtině

Sdílet prostřednictvím


Chyba kompilátoru CS1520

Metoda musí mít návratový typ.

Metoda deklarovaná ve třídě, struktuře nebo rozhraní musí mít explicitní návratový typ. V následujícím příkladu IntToString má metoda návratovou hodnotu řetězce:

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

Následující ukázka vygeneruje 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() { }
}  

A dá se opravit přidáním návratového typu do metody, například přidáním void v následujícím příkladu:

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

Případně může dojít k této chybě, když se velikost názvu konstruktoru liší od názvu třídy nebo deklarace struktury, jak je znázorněno v následující ukázce. Vzhledem k tomu, že název není úplně stejný jako název třídy, kompilátor ho interpretuje jako běžnou metodu, nikoli konstruktor, a generuje chybu:

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

Viz také