c# - Создание объекта Application

350
21 января 2018, 01:22

Когда связываю приложения с Excel файлом, сперва создаю объект класса Application. Почти всегда сперва using _Excel = Microsoft.Office.Interop.Excel; а потом _Excel.Application excel = new _Excel.Application(); . Сегодня заметил что если даже не писать _Excel,( т.е просто писать Application excel = new Application()) все нормально работает.

Я так понимаю что существует другие приложения которые запускаются через Application, из за этого указать _Excel предпочтительно. Но, не уверен в этом. Можете полностью объяснить, почему такое указание существует, если через Application можно все сделать ?

Answer 1

Метод Application, помимо Excel, встречается, как минимум, в объектных моделях различных приложений Office и везде выполняет одну и ту же задачу.

Если Вы работаете только с одним приложением, вызывать метод Application сам по себе ещё допустимо. Но, если Вам потребуется два таких приложения и более, из-за такого стиля обращения к этому методу возникнет конфликт.

Поэтому, ИМХО, лучше перестраховаться и всегда указывать приложение явно. Заодно это облегчит понимание Вашего кода другими разработчиками или даже Вами самим после возвращения к данному проекту спустя некоторое время.

READ ALSO
Настройка виртуальной клавиатуры Android

Настройка виртуальной клавиатуры Android

При вводе текста на мобильном устройстве текст не отображается но он там и есть

321
Как получить событие LoadCompleted контрола WebBrowser не вставляя даный контрол в XAML?

Как получить событие LoadCompleted контрола WebBrowser не вставляя даный контрол в XAML?

У меня нет потребности использовать WebBrowser в XAML, мне он нужен всего лишь для того что бы иметь возможность вызвать событие Click на одном из тегов...

340
String Format for DateTime

String Format for DateTime

объясните пожалуйста почему String Format for DateTime c заданой локал-й en-US на моей машине конвертит в "Monday, January 1, 0001" на на другой "Monday, January 01, 0001" при...

339
Переопределение GetHashCode(): создание хэш по User.Surname и User.Name

Переопределение GetHashCode(): создание хэш по User.Surname и User.Name

Есть класс c переопределенным методом Equals()

248