Título: Como cargar un assembly usando la reflexión en C# Publicado por: Borito30 en 20 Mayo 2017, 20:55 pm Hola mi pregunta es como puedo cargar un assembly ya sea una dll o binario usando la reflexión, normalmente para cargar un assembly lo hago de la siguiente manera:
Código Pero ahora estaba intentandolo usando la reflexión para ello hice lo siguiente: Código Cuando lo hago del primer modo funciona bien. Pero cuando uso el siguiente método(usando solo reflexión) me devuelve el siguiente error: Código: typeof(Assembly).GetMethod("Load").Invoke(null,new object[] {decryptedBuffer}); Estaba intentando llamar al assembly load usando la reflexión pero no entiendo porque una versión si funciona y la otra no como podría compatibizarla para que funcionase / cargando el assembly load de modo reflectivo? Título: Re: Como cargar un assembly usando la reflexión en C# Publicado por: Eleкtro en 21 Mayo 2017, 00:12 am Problem Signature 09: System.Reflection.AmbiguousMatch Ahí te esta aclarando el motivo del error:
Basicamente lo que ha ocurrido en tu código es que la búsqueda de "X" miembro mediante Reflection ha resultado en una coincidencia ambigua, ¿y esto que quiere decir?, pues que se ha encontrado más de 1 miembro con el mismo nombre pero con distinta parametización, esto es una ambiguedad, es decir, las sobrecargas: System.Assembly - Class Methods | MSDN (https://msdn.microsoft.com/en-us/library/system.reflection.assembly(v=vs.110).aspx#Methods) Cita de: MSDN Reference (http://i.imgur.com/JXAPIc8.png) No puedes esperar que Reflection sepa qué overload/sobrecarga es el que debe devolver, si tú no le ayudas a descartar los demás miembros para quedarse con solamente uno. Para ello debes limitar la búsqueda de miembros usando el overload de la función Type.GetMethod() que acepta como argumento la enumeración BindingFlags en la que especificaremos el tipo de miembro y su nivel de acceso, junto a un Array con el tipo de parametización del miembro en cuestión: Código
¡Saludos! |