Je passe un type dynamique dans une méthode et j'ai quelques problèmes pour exécuter le code. Vous vous demandez si vous pouvez passer un objet dynamique en tant que paramètre en utilisant le mot-clé out.Type dynamique dans le paramètre de méthode
Ci-dessous le code.
dynamic btApp = AutomationFactory.CreateObject("Test.Application");
dynamic btMessages;
dynamic btFormat = btApp.Formats.Open("c:\\Temp/Format1.btw", false, "");
btFormat.SetNamedSubStringValue("testing", "testtest");
btFormat.Print("Job1", true, -1, out btMessages);
btFormat.Close(2);
Le problème est lié à la méthode d'impression. où le dernier argument passe dans un objet dynamique.
J'essaye d'arriver à la méthode d'impression mais je semble lutter actuellement avec ça. J'ai pu y entrer aujourd'hui à un moment donné et j'ai vu que les 3 premiers paramètres sont ce qui est attendu, la dernière méthode est de type Message message ... si je me souviens bien le type de Message était lié à une interface de message .. Je suis sûr que cela n'aide pas, mais je me souviens que la méthode n'a pas pris un paramètre ref ou d'un type dynamique .. Je vais encore essayer et entrer dans le sdk pour voir le code réel, mais je voulais répondre avant la fin de la soirée. Merci pour l'aide ... – gevjen
aussi .. comme c'est un objet com j'ai pu créer une application WPF et utiliser le même code sans aucune erreur ou problème. J'en ai besoin pour courir dans une application Silverlight. Je ne peux pas référencer un objet COM dans l'application SL, donc je le fais de cette façon. Cette ligne de code qui me pose des problèmes (la méthode d'impression) a parfaitement fonctionné quand elle a fonctionné dans une application wpf. – gevjen