Utilizarea C # cu OpenOffice prin reflecție

Lucrez la un anumit cod pentru inserarea direct în documentul OpenOffice activ din C# . Nu pot include nici o bibliotecă OpenOffice, deoarece nu vrem să le împachetăm, deci folosim reflecții pentru a avea acces la API-ul OpenOffice .

Întrebarea mea implică utilizarea unui dispecer prin reflecție. Nu pot să-mi dau seama de parametrii corecți pentru a trece la el, oferindu-mi o minunată "TargetInvocationException" din cauza tipurilor nepotrivite.

object objframe = GetProperty(objcontroller, "frame");
if (objframe != null)
{
    object[] paramlist = new object[2] {".uno:Paste", objframe};
    InvokeMethod(objdispatcher, "executeDispatch", paramlist);
}

Cum pot remedia problema?

0
fr hi bn

1 răspunsuri

Sunt doar eu sau sunt parametrii dvs. în mod greșit? De asemenea, aveți numărul corect de parametri? Mi-ar putea lipsi ceva, totuși îmi pare rău dacă ați verificat deja aceste lucruri:

Documentația spune:

dispatcher.executeDispatch(document, ".uno:Paste", "", 0, Array())

Ceea ce mi-ar indica că trebuie să aveți definită lista de parametri ca

object[] paramlist = new object[5] {objframe, ".uno:Paste", "", 0, null};
0
adăugat