Ler em inglês

Compartilhar via


Erro do Compilador CS1520

O método deve ter um tipo de retorno

Um método declarado em uma classe, struct ou interface deve ter um tipo de retorno explícito. No exemplo a seguir, o método IntToString tem um valor retornado de cadeia de caracteres:

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

O exemplo a seguir gera o erro 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() { }
}  

E pode ser corrigido adicionando-se um tipo de retorno ao método, como a adição de void no exemplo abaixo:

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

Como alternativa, esse erro pode ser observado quando o uso de maiúsculas do nome de um construtor difere daquele empregado na classe ou declaração de struct, como no exemplo a seguir. Como o nome não é exatamente o mesmo que o nome da classe, o compilador o interpreta como um método regular, não um construtor, e produz o erro:

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

Confira também