ambiguous match found and overload

03/09/2006 - 04:29 por alf | Informe spam
Hola, estoy invocando un metodo de la forma:

Type newDO_W = Type.GetType(eType); // The Type

object oDO_W = Activator.CreateInstance(newDO_W); // The Object

object[] methparams = new object[2];

methparams[0] = dirty_oDO;

methparams[1] = oDO;

newDO_W.GetMethod(eUpdateMethod).Invoke(oDO_W, methparams); // Invoke Method

pero el objeto oDO_W tiene 2 metodos sobrecargados, uno recibe un parametro
y el otro 2, los dos parametros son del mismo tipo en los dos metodos y los
dos metodos tienen el mismo acceso Public. entonces recibo la exception
AmbiguousMatchFound.
Parece que a pesar de estar pasando 2 parametros el framework no sabe
escoger el metodo correcto a ejecutar.

como puedo invocar uno de estos metodos sin obtener error ??

saludos, alf.
 

Leer las respuestas

#1 Octavio Hernandez
03/09/2006 - 09:33 | Informe spam
alf,

No has puesto la línea de código en la que obtienes el objeto MethodInfo,
eUpdateMethod.
Seguramente ahí te falta indicar que te interesa la versión con dos
parámetros:

mInfo = typeof(Program).GetMethod("MethodA",
new Type[] { typeof(int), typeof(int) }); // dos argumentos

Salu2 - Octavio



"alf" escribió en el mensaje
news:
Hola, estoy invocando un metodo de la forma:

Type newDO_W = Type.GetType(eType); // The Type

object oDO_W = Activator.CreateInstance(newDO_W); // The Object

object[] methparams = new object[2];

methparams[0] = dirty_oDO;

methparams[1] = oDO;

newDO_W.GetMethod(eUpdateMethod).Invoke(oDO_W, methparams); // Invoke
Method

pero el objeto oDO_W tiene 2 metodos sobrecargados, uno recibe un
parametro y el otro 2, los dos parametros son del mismo tipo en los dos
metodos y los dos metodos tienen el mismo acceso Public. entonces recibo
la exception AmbiguousMatchFound.
Parece que a pesar de estar pasando 2 parametros el framework no sabe
escoger el metodo correcto a ejecutar.

como puedo invocar uno de estos metodos sin obtener error ??

saludos, alf.




Preguntas similares