@maxcad

Как узнать, что флаг включен в сумме флагов?

Ситуация такая. Искал я как узнать является ли папка симлинком. Нарыл вот это
https://docs.microsoft.com/ru-ru/dotnet/api/system...
FileAttributes attributes = File.GetAttributes("c:/Temp/testfile.txt");

Этот код возвращает сумму флагов. Для симлинков в этой сумме одно из слагаемых = 1024.
Для симлинка обычной папки возвращается 1040 это 1024+16. Что в переводе на русский обозначает - директория и симлинк.
Так как у папки может быть еще множество атрибутов, то число может быть не всегда 1040.

Моя задача: из десятичного числа выяснить есть ли в нём флаг равный 1024.
Как это реализовать в C#?
Или если кто знает как проверить папку/файл на симлинк другими способами минуя побитовую математику.
  • Вопрос задан
  • 90 просмотров
Решения вопроса 1
@kokapuk
FileInfo pathInfo = new FileInfo(path);
bool pathInfo.Attributes.HasFlag(flag);
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы