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 #?

Foi útil?

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
scroll top