Ошибка компилятора CS1520

Метод должен иметь тип возвращаемого значения

Метод, объявленный в классе, структуре или интерфейсе, должен иметь явный тип возврата. В следующем примере IntToString метод имеет возвращаемое значение строки:

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

Следующий пример приводит к возникновению ошибки 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() { }
}  

Его можно исправить, добавив в метод возвращаемый тип, например добавление void в приведенный ниже пример:

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

Кроме того, эта ошибка может возникать, когда регистр имени конструктора отличается от регистра объявления класса или структуры, как в следующем примере. Поскольку имя не точно совпадает с именем класса, компилятор интерпретирует его как обычный метод, а не конструктор, и в результате возникает ошибка:

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

См. также