В какой момент (время выполнения) неработающая ссылка вызывает исключение? - PullRequest
0 голосов
/ 15 ноября 2018

Я использую ссылку на Microsoft.Office.Interop.Word в своем приложении, которая позволит мне добавить функцию для преобразования документа Word в PDF.Эта функция будет использоваться только несколькими конечными пользователями, и у всех этих пользователей будет MS Office.

Что происходит, когда приложение запускается на рабочей станции, на которой нет Office?Сбой приложения сразу или только при вызове методов взаимодействия?

1 Ответ

0 голосов
/ 15 ноября 2018

Сбой должен произойти в тот момент, когда ему нужно загрузить информацию о типе из библиотеки взаимодействия.Обычно это происходит в момент компиляции любой функции, которая вызывает метод взаимодействия.Предполагая, что вы не пропустили ни один из его типов через собственные аргументы методов, интерфейсы, базовые классы и т. Д.

Обычно это означает, что вы хотите написать что-то вроде:

if(OfficeAvailable)
{
   DoOfficeWork();
}
else
{
   Fallback();
}

Вместо:

if(OfficeAvailable)
{
    var app = new Outlook.Application();
    app.DoSomething();
}
else
{
    //Do other things
}

Т.е. подтолкнуть офисные взаимодействия к выделенным методам, которые вы даже не пытаетесь вызвать , если вы не работаете с офисом, вместо того, чтобы пытатьсяобнаружение и условная работа с офисом в одной функции.

...