Используйте этот код. Это работает как чемпион.
Process process = new Process();
process.StartInfo.UseShellExecute = true;
process.StartInfo.FileName = outputPdfFile;
process.Start();
Краткий ответ: Список
. Вы можете найти документы здесь .
Все зависит.
каждый макрос указывает что-то другое в значении.
См.: https://developer.apple.com/library/mac/documentation/porting/coneptual/portingUnix/compiling/compiling.html#//apple_ref/doc/uid/tp40002850-sw13
__apple__
Этот макрос определяется в любом Apple Computer.
__ Apple_cc __
Этот макрос установлен на целое число, которое представляет номер версии компилятор. Это позволяет вы отличать, например, между компиляторами На основании той же версии GCC, но с различными исправлениями ошибок или функциями. Большие значения обозначают более поздние компиляторы.
___ osx __
Предположительно, ОС - это определенный вариант ОС X
, поэтому приведенные вышеуказанные определения, которые я бы использовал __ Apple __
, чтобы отличить конкретный код Apple.
Раньше был интерфейс JavaScript navigator.cookeyEnabled
, но сегодня браузеры имеют гораздо более широкий диапазон элементов управления cookie, чем только «enabled »/« disabled», включая параметры сеанса/персистенции, настройки и P3P, специфичные для сайта. Так что нюхать это свойство сейчас бесполезно.
Нет, единственный надежный способ узнать, можете ли вы установить cookie, это попытаться установить его, и посмотреть, есть ли он еще там. Другая морщина заключается в том, что в то время как многие браузеры понизят постоянный cookie-файл до сессионного cookie-файла, когда контроль частной жизни пользователя не позволяет им, IE не будет.
Если вы попытаетесь установить постоянный cookie-файл в IE, когда они отключены, cookie-файл просто будет выброшен на пол. Это может вас поймать, если вы используете простой сеанс проверки cookie, найти cookie включены, а затем попытаться установить постоянный cookie. И вам не сойдет с рук попытка установить как сеанс cookie и постоянный cookie, потому что при установке постоянного cookie в IE с отключенными постоянными cookie он даже удаляет существующий сеанс cookie с тем же именем. О, ИЭ!
Поэтому, если вам нужно установить постоянный cookie, но сделать с сеансом, где постоянный недоступен, вы должны использовать это сначала, чтобы узнать, что вы можете сделать:
// Find out what cookies are supported. Returns:
// null - no cookies
// false - only session cookies are allowed
// true - session cookies and persistent cookies are allowed
// (though the persistent cookies might not actually be persistent, if the user has set
// them to expire on browser exit)
//
function getCookieSupport() {
var persist= true;
do {
var c= 'gCStest='+Math.floor(Math.random()*100000000);
document.cookie= persist? c+';expires=Tue, 01-Jan-2030 00:00:00 GMT' : c;
if (document.cookie.indexOf(c)!==-1) {
document.cookie= c+';expires=Sat, 01-Jan-2000 00:00:00 GMT';
return persist;
}
} while (!(persist= !persist));
return null;
}
-121--2786215- Я борюсь за доказательства, но я почти уверен, что помню, что вне браузера использует механизм Internet Explorer.
EDIT
Эта запись укрепляет мою память.
И эта статья подразумевает то же самое, если вы перейдете в раздел «Обнаружение сетевых подключений и состояния вне браузера» и прочитаете заключительный параграф, начинающийся «Вы можете использовать локальные сообщения для связи между»....
-121--3404145- Обычно для этого используется __ MACH __
. Он был определен с самой ранней версии OS X (и даже раньше, предположительно).
Поля - единственное место, где можно хранить состояние. Свойства на самом деле являются всего лишь парой методов со специальным синтаксисом, который позволяет им быть сопоставленными с методом get или set в зависимости от того, как они используются: если свойство изменяет или обращается к состоянию, это состояние все равно должно храниться в поле.
Поля не всегда отображаются. С автоматическими свойствами C # 3 поле создается для вас компилятором. Но он все еще там. Кроме того, автоматические свойства имеют некоторые существенные ограничения (например, нет поддержки INotifyPropertyChanged, нет бизнес-логики в установщиках), которые означают, что они часто неуместны, и в любом случае необходимо создать явное поле и свойство, определенное вручную.
В соответствии с ответом Дэвида , вы правы, если говорите об API: вы почти никогда не хотите сделать внутреннее состояние (поля) частью API.
-121--1255492- Краткий ответ: Список < T >
. Документы можно найти здесь .
Вот хороший список макросов для операционных систем.
В Интернете содержится мало информации о __ OSX __
. Вы будете в безопасности с __ APPLE __
.