2009-09-21 17 views
5

que estoy recibiendo el siguiente error:C# Error 'No hay sobrecarga para el método 'getData' toma 'argumentos 1'

Error 49 No overload for method 'getData' takes '1' arguments 

Con este método en la línea quinta.

[WebMethod] 
    public string getVerzekerde(int bsn) 
    { 
     ZDFKoppeling koppeling = new ZDFKoppeling(); 
     return koppeling.getData(bsn);    
    } 

El método getData se parece a esto:

public string getData(int bsn) 
    {   
     using (new SessionScope()) 
     { 
      ZorgVerzekerde verzekerde = PolisModule.GetVerzekerde(bsn); 
      return "Verzekerde " + verzekerde.Naam;   
     }  
    } 

Yo realmente no entiendo lo que está mal aquí .. La descripción de este error en el sitio de MSDN no me ayude .. http://msdn.microsoft.com/en-us/library/d9s6x486%28VS.80%29.aspx

¿Alguien que tiene una solución?

+0

ZDFKoppeling: esta es una clase interna, ¿verdad? ¿Cómo se supone que debemos saber cómo está definido? –

Respuesta

10

Sí; de alguna manera estás compilando contra una versión diferente de esa clase. Haga una compilación limpia y revise dos veces sus referencias.

+2

La limpieza sí ayudó ... Sentirse un poco estúpido en este momento: P – Rick

+0

@Rick, no lo hace el 99% del tiempo, el problema está en nuestro código, entonces cuando no lo está, tendemos a no intentar lo obvio –

+2

@Ian - Mi opinión personal es que si tienes que hacer una compilación limpia para que las cosas funcionen, es una falla de la herramienta. Desafortunadamente, he tenido mucha experiencia recientemente al tener que hacerlo en VS2008 y WPF –

0

¿Dónde se define el método getData? ¿Está en otra asamblea? ¿Has intentado reconstruir?

Parece que su código no tiene ningún problema.

1

Ponga un error en el método GetData(), luego haga una compilación completa y confirme que el compilador encuentre los errores. Puede estar editando el archivo incorrecto si tiene más de una copia del código fuente en su máquina, y esto le mostrará si lo está.

También intente cambiar el nombre de la clase ZDFKoppeling sin actualizar getVerzekerde() y compruebe que obtiene un error de compilación. Si no, no estás recogiendo la clase modificada por alguna razón.

Si lo anterior no da un error de compilación, intente una rebook, como un proceso que tenga el dll bloqueado, y también intente una reconstrucción completa.

Estos problemas normalmente resultan ser muy simples una vez que los ha rastreado. Pero tómalo para siempre para localizarlo.

Si otro programador trabaja en la misma oficina, solicite su ayuda, ya que con frecuencia un segundo ojo de la máquina puede encontrarlo rápidamente.

(estoy asumiendo que GetData() se define en la clase ZDFKoppeling, no algún otro calss)

1

En general, esto indica que no está haciendo referencia al método que se pensaba que era, pero en su lugar una diferente. En general, puede averiguar qué método está en Visual Studio haciendo clic con el botón derecho en la llamada al método y seleccionando "Ir a la definición". Esto debería ayudar a determinar por qué está llamando el que es y no el que espera.

Cuestiones relacionadas