Manière manuelle d'appeler un objet COM via .NET
-
06-07-2019 - |
Question
Existe-t-il un moyen manuel d'appeler un objet COM dans le GAC dans .NET, sans l'ajouter comme référence?
Je pose la question parce que je sais seulement comment coder en C # et que je veux appeler un objet COM .NET et vérifier que ses appels CMO sont visibles, mais vous ne pouvez évidemment pas ajouter un objet COM .NET à un .NET Assemblée! Comme vous devez vous y référer, je me demandais si vous pouviez l'appeler si elle était enregistrée manuellement dans le GAC via le code c #?
La solution
Type myType = Type.GetTypeFromProgID("IMyLib.MyClass");
object obj = Activator.CreateInstance(myType);
object[] args = new object[2];
args[0] = "Hello";
args[1] = 3;
myType.InvokeMember("MyMethod", BindingFlags.InvokeMethod, obj, args);
Dans .Net 4, quelque chose comme ça
Type myType = Type.GetTypeFromProgID("IMyLib.MyClass");
dynamic obj = Activator.CreateInstance(myType);
obj.MyMethod("Hello", 3);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow