Przeczytaj w języku angielskim

Udostępnij za pośrednictwem


Błąd kompilatora CS1520

Metoda musi mieć typ zwracany

Metoda zadeklarowana w klasie, struktury lub interfejsie musi mieć jawny typ zwracany. W poniższym przykładzie IntToString metoda ma zwracaną wartość ciągu:

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

Poniższy przykład generuje 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() { }
}  

Można to naprawić, dodając typ powrotu do metody, na przykład dodając void w poniższym przykładzie:

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

Alternatywnie ten błąd może wystąpić, gdy przypadek nazwy konstruktora różni się od deklaracji klasy lub struktury, jak w poniższym przykładzie. Ponieważ nazwa nie jest dokładnie taka sama jak nazwa klasy, kompilator interpretuje ją jako zwykłą metodę, a nie konstruktora i generuje błąd:

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

Zobacz też