리플렉션을 통해 오픈 오피스와 함께 C# 사용

C#에서 직접 현재 활성 상태인 OpenOffice 문서에 붙여넣는 코드를 작업 중입니다. 패키징을 원하지 않기 때문에 오픈 오피스 라이브러리를 포함할 수 없으므로 리플렉션을 사용하여 OpenOffice API에 액세스하고 있습니다.

내 질문은 리플렉션을 통해 디스패처를 사용하는 것과 관련이 있습니다. 디스패처에 전달할 올바른 매개 변수를 파악할 수 없어 유형이 일치하지 않아 멋진 이 발생합니다.

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

어떻게 고칠 수 있나요?

저만 그런 건가요, 아니면 파라미터가 잘못된 방향으로 설정되어 있나요? 또한 매개변수 개수가 올바른가요? 제가 놓친 부분이 있을 수 있으니 이미 확인했다면 죄송합니다:

문서에 이렇게 나와 있습니다:

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

이는 매개 변수 목록을 다음과 같이 정의해야 함을 나타냅니다.

object[] paramlist = new object[5] {objframe, ".uno:Paste", "", 0, null};
해설 (0)