-1

Je reçois l'exception de discordance de nombre de paramètres.comment résoudre l'exception System.Reflection.TargetParameterCountException dans WindowsForms C#?

Exception non gérée: System.Reflection.TargetParameterCountException: Incompatibilité du nombre de paramètres.

Ma partie de code pour appeler la base MethodInfo est comme ci-dessous

Type customerType = executingAssembly.GetType("LateBinding.Customer"); 
     object customerInstance = Activator.CreateInstance(customerType); 
     MethodInfo method = customerType.GetMethod("printCustomerDetails"); 
     string customerObject = (string)method.Invoke(customerInstance, new object[0]); 

J'ai essayé d'invoquer la méthode ci-dessous

public string printCustomerDetails(object parameters) 
    { 
     string CustomerName = ""; 
     foreach (object customer in parameters) 
     { 
      CustomerName = CustomerName + " " + customer; 
     } 
     return CustomerName.Trim(); 
    } 

Y at-il quelque chose que je manqué d'invoquer la base MethodInfo?

+0

Vous devez vérifier les paramètres de méthode printCustomerDetails et invoquer avec même nombre d'arguments. –

+0

Afficher la déclaration d'objet s'il vous plaît. –

+0

@TAHASULTANTEMURI J'ai ajouté le code. – Arulpriya

Répondre

0

deuxième argument Method.Invoke nécessite un tableau mais à l'intérieur de votre code

string customerObject = (string)method.Invoke(customerInstance, new object[0]); 

Le (nouvel objet [0]); ne retourne pas array.Its printCustomerDetails qui retourne un tableau.

si vous avez besoin

string customerObject = (string)method.Invoke(customerInstance, Details(0));