text: ---
  title: Error del compilador CS1731
  ms.date: 07/20/2015
  f1_keywords:
  - CS1731
  helpviewer_keywords:
  - CS1731
  ms.assetid: 267b32aa-a692-4a54-8654-0540ee36c0a0
  ms.openlocfilehash: 0bc3ef2e80b930e9ed6e02299313f8898a51e03d
  ms.sourcegitcommit: 5b475c1855b32cf78d2d1bbb4295e4c236f39464
  ms.translationtype: MT
  ms.contentlocale: es-ES
  ms.lasthandoff: 09/24/2020
  ms.locfileid: "91191091"
  ---
  # <a name="compiler-error-cs1731"></a>Error del compilador CS1731
  
  No se puede convertir 'expresión' a delegado porque algunos de los tipos de valor devuelto del bloque no se pueden convertir implícitamente al tipo de valor devuelto del delegado.  
    
   Este error se genera cuando una expresión lambda o un método anónimo tiene un tipo de valor devuelto que no es compatible con el tipo de valor devuelto del delegado.  
    
  ## <a name="to-correct-this-error"></a>Para corregir este error  
    
  1. Cambie el tipo de valor devuelto del delegado o la expresión.  
    
  ## <a name="example"></a>Ejemplo  
  
   El código siguiente genera el error CS1731.  
    
  ```csharp  
  class CS1731  
  {  
      delegate double D();  
      D d = () => { return "Who knows the real sword of Gryffindor?"; };  
  }  
  ```
  