Когда Вы хотите, чтобы Ваш блок был CLS-совместим, можно использовать атрибут CLSCompliant в assemblyinfo файле. Компилятор будет затем жаловаться, когда Ваш код будет содержать материал, который не является cls совместимый.
Затем когда у Вас есть 2 свойства, которые только отличаются в случае, если, компилятор выпустит ошибку. С другой стороны, когда у Вас есть частное поле и общественная собственность в том же классе, не будет никаких проблем.
(Но, я также всегда снабжаю префиксом своих членов парламента, не занимающих официального поста подчеркивание. Это также помогает мне прояснить, когда я прочитал свой код, что определенная переменная является членским полем).
В OS X 10.6 команда open
была расширена, чтобы разрешить передачу аргументов приложению:
open ./AppName.app --args -AppCommandLineArg
Но для более старых версий Mac OS X, и поскольку пакеты приложений не предназначены для передачи аргументов командной строки, обычный механизм заключается в использовании Apple Events для файлов, подобных здесь для приложений Cocoa или ] здесь для приложений Carbon. Вы также, вероятно, могли бы сделать что-нибудь путное, передав параметры с использованием переменных среды.
Пакет приложения (файл .app
) на самом деле представляет собой набор каталогов. Вместо использования open
и имени .app
вы можете фактически перейти к нему и запустить настоящий двоичный файл. Например:
$ cd /Applications/LittleSnapper.app/
$ ls
Contents
$ cd Contents/MacOS/
$ ./LittleSnapper
Это фактический двоичный файл, который может принимать аргументы (или нет, в случае LittleSnapper
).
Я бы порекомендовал технику, которую предлагает MathieuK. В моем случае мне нужно было попробовать это с Chromium:
> Chromium.app/Contents/MacOS/Chromium --enable-remote-fonts
Я понимаю, что это не решает проблему OP, но, надеюсь, это сэкономит время других людей. :)
Как было упомянуто в вопросе здесь , команда open
в 10.6 теперь имеет флаг args
, поэтому вы можете вызов:
open -n ./AppName.app --args -AppCommandLineArg
С помощью applescript:
tell application "Firefox" to activate