forma manual a chamada de objeto COM através .NET
-
06-07-2019 - |
Pergunta
Existe uma maneira manual para chamar um objeto COM no GAC em .NET, sem adicioná-lo como uma referência?
A razão que eu peço é que eu só sei como código em C # e deseja chamar um objeto e testes que suas chamadas OCM são visíveis .NET COM, mas, obviamente, você não pode adicionar um objeto .NET COM a um .NET montagem! Como você tem que fazer referência a ela, então eu queria saber que você pode chamá-lo se a sua registrado no GAC manualmente através de código c #?
Solução
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);
Em .Net 4 algo como isto
Type myType = Type.GetTypeFromProgID("IMyLib.MyClass");
dynamic obj = Activator.CreateInstance(myType);
obj.MyMethod("Hello", 3);
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow