Transparent
создаст кисть, которая инициализируется прозрачным цветом, null установит свойство равным null, это означает, что свойство назначения не имеет прикрепленной кисти. В WPF часто важно установить кисть элемента. Если вы, например, хотите отслеживать мышиные элементы в элементе, вы должны установить фон. Если вы не хотите устанавливать сплошной цвет (сделать его непрозрачным), вы можете использовать прозрачную кисть. Это можно сделать со строковым значением «Прозрачный». Разница заключается в том, как будет устанавливаться свойство. Если вы присвоите null для свойства brush, свойство будет действительно равно null. Если вы установите строку «Transparent», значение значение-конвертер , преобразующее строку в кисти, преобразует ее в кисть Brushes.Transparent
.
Короткая версия: {x:Null}
устанавливает свойство назначения - null. «Прозрачный» задает свойство назначения прозрачной кисти.
Под файловой системой файлы представлены inodes (или он несколько inodes, не уверенные)
, файл А в файловой системе является в основном ссылкой на inode.
жесткая ссылка А тогда просто создает другой файл со ссылкой на то же, лежащее в основе inode.
при удалении файла он удаляет одну ссылку на базовый inode. inode только удален (или удаляемый/сверхперезаписываемый), когда все ссылки на inode были удалены.
символьная ссылка А является ссылкой на другое имя в файловой системе.
, Как только жесткая ссылка была сделана, ссылка к inode., удаляющему переименование, или перемещение исходного файла не будет влиять на жесткую ссылку, поскольку это связывается с базовым inode. Любые изменения в данных по inode отражаются во всех файлах, которые отсылают к этому inode.
Примечание: Жесткие ссылки только допустимы в той же Файловой системе. Символьные ссылки могут охватить файловые системы, поскольку они - просто название другого файла.
Я прибавляю вопрос Nick's: когда жесткие ссылки полезны или необходимы? Единственное приложение, которое появляется по моему мнению, в котором символьные ссылки не сделали бы задания, предоставляет копию системного файла в chrooted среде.
Жесткие ссылки очень полезны при выполнении возрастающих резервных копий. См. rsnapshot, например. Идея состоит в том, чтобы сделать копию с помощью жестких ссылок:
новое резервное копирование не займет дополнительного места ни кроме каких изменений, которые Вы внесли, так как все возрастающие резервные копии укажут на тот же набор inodes для файлов, которые не изменились.
Я указал бы на Вас на Википедию:
Несколько точек:
Символьные ссылки связываются с путем. Это может быть где угодно в дереве файла системы и не должно даже существовать, когда ссылка создается. Путь назначения может быть относительным или абсолютным.
Жесткие ссылки являются дополнительными указателями на inode, означая, что они могут существовать только на том же объеме как цель. Дополнительные жесткие ссылки на файл неотличимы от "исходного" имени, используемого для ссылки на файл.
Жесткие ссылки полезны, когда исходный файл становится перемещенным. Например, перемещая файл от / мусорного ведра до/usr/bin или к/usr/local/bin. Любая символьная ссылка на файл в / мусорном ведре была бы повреждена этим, но hardlink, будучи ссылкой непосредственно на inode для файла, не будет заботиться.
Жесткие ссылки могут взять меньше дискового пространства, поскольку они только поднимают запись каталога, тогда как для символьной ссылки нужен ее собственный inode для хранения имени, на которое это указывает.
Жесткие ссылки также занимают меньше времени для разрешения - символьные ссылки могут указать на другие символьные ссылки, которые находятся в symlinked каталогах. И некоторые из них могли быть на NFS или других файловых системах высокой задержки, и так могли привести к сетевому трафику для разрешения. Жесткие ссылки, будучи всегда в той же файловой системе, всегда разрешаются в единственном поиске, и никогда не включают сетевую задержку (если бы это - hardlink в файловой системе NFS, сервер NFS сделал бы разрешение, и это было бы невидимо для клиентской системы). Иногда это важно. Не для меня, но я могу вообразить высокоэффективные системы, где это могло бы быть важно.
я также думаю вещи как mmap (2) и даже открываюсь (2), используют ту же функциональность в качестве hardlinks для хранения файла inode активный так, чтобы, даже если файл добирается, расцепили (2) редактор, inode остается предоставлять продолженный доступ процесса, и только как только процесс закрывается, это делает файл, действительно уходят. Это допускает намного более безопасные временные файлы (если можно получить открытое и расцепить для случая атомарно, который может быть API POSIX для этого, я не помню, тогда у Вас действительно есть безопасный временный файл), где Вы можете чтение-запись Ваши данные ни с кем способность получить доступ к нему. Ну, это было верно, прежде чем/proc дал всем способность посмотреть на Ваши дескрипторы файлов, но это - другая история.
, Разговор которого, восстанавливая файл, который открыт в процессе A, но расцепляемый в файловой системе, вращается вокруг использования hardlinks для воссоздания ссылок inode, таким образом, файл не уходит, когда процесс, который имеет его открытые завершения это или уходит.
Хорошая интуиция, которая может помочь при использовании любой консоли Linux (ish).
Создайте два файла:
$ touch foo; touch bar
Введите в них данные:
$ echo "Cat" > foo
$ echo "Dog" > bar
(На самом деле, я мог бы использовала в первую очередь эхо, поскольку оно создает файлы, если они не существуют ... но это не важно.)
И, как и ожидалось:
$cat foo; cat bar
Cat
Dog
Давайте создадим жесткие и мягкие ссылки:
$ ln foo foo-hard
$ ln -s bar bar-soft
Посмотрим, что только что произошло:
$ ls -l
foo
foo-hard
bar
bar-soft -> bar
Изменение имени foo не имеет значения:
$ mv foo foo-new
$ cat foo-hard
Cat
foo-hard указывает на индексный дескриптор, содержимое файла - это не было изменено.
$ mv bar bar-new
$ ls bar-soft
bar-soft
$ cat bar-soft
cat: bar-soft: No such file or directory
Содержимое файла не могло быть изменено. найдено, потому что мягкая ссылка указывает на имя, которое было изменено, а не на содержимое.
Аналогичным образом, если foo
удаляется, foo-hard
все еще сохраняет содержимое; если бар
удален,
Также: