Если я создаю шаблон .net 4.8 в Visual Studio 2022 ...
Это работает:
Код: Выделить всё
dynamic obj = Marshal.GetActiveObject("Excel.Application");
obj.Workbooks.Add();
< /code>
Это тоже работает: < /p>
object obj1 = Marshal.GetActiveObject("FancySoft.Application");
object obj2 = obj1.GetType().InvokeMember("FancyProperty", BindingFlags.GetProperty, null, obj1, null);
Код: Выделить всё
dynamic obj1 = Marshal.GetActiveObject("FancySoft.Application");
object obj2 = obj1.FancyProperty;
< /code>
Наконец, если я добавлю ссылку на Com в Fancysoft в мой проект, это работает как ожидалось: < /p>
var obj1 = (Application) Marshal.GetActiveObject("FancySoft.Application");
var obj2 = obj1.FancyProperty;
Я что -то упускаю? (Посмотрев на файлы .tlb, используя некоторые трюки с отражением и т. Д.?)
Подробнее здесь: https://stackoverflow.com/questions/774 ... c-variable