2017-04-06 11 views
1

제 3 자 .exe에서 호출 한 C#에서 클래스 라이브러리 (.dll)를 작성했습니다. .exe는 내 .dll에서 메서드를 호출하고 COM 개체를 내 메서드에 전달합니다. 여러 가지 이유로이 COM 객체의 동등한 클래스 정의에 액세스 할 수는 없지만이 편리한 메소드 DispatchUtility class tool을 사용하여 공용 메서드와 속성을 찾을 수 있습니다. 나는 extern class 정의를 만들려고 그 멤버들에게 접근 할 수 있었지만, 발견 한 바에 따라 C#은 그것을 허용하지 않습니다.COM 개체에서 클래스 액세스

이 반원들에게 접근하는 최선의 방법은 무엇입니까?

+0

대명사와 thises 및 thats가 모두 섞여 있고 당신이 묻고있는 것을 이해하기 어렵습니다. 내가해야 할 일은 COM 객체에 대한 IDispatch 인터페이스를 가져 와서 Invoke를 호출하는 것입니다. 이 게시물에 한스 대답을 봐 : http://stackoverflow.com/questions/8068449/calling-a-member-of-idispatch-com-interface-from-c-sharp –

+0

@JoeWillcoxson 내가 편집 해 드리겠습니다. 명확한 설명 - 모호한 첫 번째 몇 가지는 무엇입니까? Q & A도 살펴 보겠습니다. – Conrad

답변

0

메소드 이름과 인수 유형을 알고있는 경우 dynamic 만 사용할 수 있습니다.

dynamic o = theComObject; 
o.SomeMethod(arg1, arg2, arg3); 
var v = o.SomeProperty;