2008-08-14 7 views
5

현재 C#에서 현재 활성 인 OpenOffice 문서에 붙여 넣기 위해 일부 코드 작업 중입니다. OpenOffice 라이브러리를 패키징하고 싶지 않기 때문에 OpenOffice 라이브러리를 포함 할 수 없습니다. 따라서 리플렉션을 사용하여 OpenOffice API에 액세스 할 수 있습니다.리플렉션을 통해 OpenOffice에서 C# 사용

내 질문에는 리플렉션을 통해 발송자를 사용하는 것이 포함됩니다. 필자는 일치하지 않는 유형으로 인해 "TargetInvocationException"이 멋지게 전달되도록 올바른 매개 변수를 찾아 낼 수 없습니다.

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

어떻게 해결할 수 있습니까?

답변

1

나만인가, 아니면 매개 변수가 잘못된 것입니까? 또한 올바른 수의 매개 변수가 있습니까?

문서는 말한다 : 당신은 이미이 물건을 검사 한 경우 나,하지만 정말 미안 뭔가를 누락 될 수있는 당신이 당신의 매개 변수 목록이

로 정의해야 할 필요가 있음을 나에게 나타냅니다

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

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