2010-09-15 5 views
0

J'appelle l'une des fonctions de l'assembly mais j'obtiens MissingMethodException. J'ai ouvert exe dans. Netreflector et montre que la fonction est disponible au bon endroit, mais il donne une erreur. Voici le code.Appel InvokeMember lance MissingMethodException

private void button2_Click(object sender, EventArgs e) 
{ 
     Assembly obj = Assembly.LoadFrom("Solo4O.exe"); 
     Type datacrypt = obj.GetType("Orch.DC"); 

     object[] objects = new object[3]; 

....

 datacrypt.InvokeMember("GetCryptedXML", BindingFlags.InvokeMethod | 
               BindingFlags.Static | 
               BindingFlags.Public, 
           null, datacrypt, objects, null); 

} 

Répondre

3

Votre argumentation est targetdatacrypt mais il devrait être null, comme vous appelez une méthode statique (et vous n'êtes certainement pas appeler une méthode surdatacrypt). Au-delà, il est difficile de savoir exactement ce qui ne va pas, en partie parce que vous n'avez pas montré comment vous avez initialisé objects ... nous ne savons pas quels sont les types impliqués. S'il vous plaît montrer plus de code. Je soupçonne fortement que l'un de vos types d'arguments n'est pas valide pour l'appel de la méthode.

+0

@Akie: Et quelle est la taille du tableau 'objects'? Il serait vraiment utile si vous pouviez trouver un programme court mais compelte qui démontre le problème ... –

+0

@Akie: S'il vous plaît modifier votre question, en utilisant le formatage complet, plutôt que d'écrire dans les commentaires. Assurez-vous également que vous avez réellement donné tout le code requis - je veux être capable de construire et d'exécuter le code que vous fournissez. S'il vous plaît lire http://tinyurl.com/so-hints –

+0

Salut Jon, j'ai mis à jour le fil principal avec le code complet. Merci. – Akie

Questions connexes