Я работаю с некоторым кодом на C# .NET для расширения Internet Explorer, которое вызывает Javascript в браузере и получает возвращаемое значение из вызова Javascript. Когда Javascript возвращает примитивный тип или массив примитивных типов, я получаю то, с чем могу справиться, но когда Javascript возвращает объект, я получаю непрозрачный COM-объект.
Как мне получить доступ к содержимому COM-объекта или есть лучший способ вызвать IE из C# .NET?
Взгляните на примечания внизу Документация InvokeMember. Если возвращаемое значение является объектом javascript, вы получаете оболочку объекта .NET вокруг объекта javascript. Вам нужно будет использовать отражение для проверки / вызова членов базового объекта javascript. В этом есть смысл, поскольку javascript - динамический язык, а C# - нет.