Введение В процессе разработки приложений на C# иногда возникает необходимость монтировать сетевые диски напрямую из кода. Однако .NET Framework и .NET Core не предоставляют встроенных средств для работы с сетевыми ресурсами такого типа. Это может стать проблемой для разработчиков, которым нужно автоматизировать подключение сетевых хранилищ, например, в корпоративных приложениях. Почему стандартных средств .NET недостаточно? Несмотря […]
Метка: .NET
Получить доступ к папке system32 на C#
Работа с системными каталогами Windows, такими как System32, требует особых привилегий. В этой статье мы рассмотрим, как на языке C# копировать, удалять и модифицировать файлы в защищённых директориях даже при включённой системе контроля учётных записей (UAC). Чтобы ваш код работал корректно, потребуется запуск от имени администратора, а проект рекомендуется собирать с конфигурацией Any CPU для […]
Как включать службы windows и отключать на C#
Если вы разрабатываете приложения на C#, которые взаимодействуют с системными компонентами, вам может понадобиться управление службами Windows: запуск, остановка или перезапуск. Эти действия особенно актуальны для утилит администрирования, установщиков и технических решений, работающих в среде Windows. Ниже приведён базовый листинг кода, который вы можете адаптировать под собственные проекты. Важно отметить, что любые операции с системными […]
Паттерн Компоновщик на C# на примерах
Паттерн Компоновщик объединяет объекты в древовидные структуры для представления иерархий часть\целое. Компоновщик позволяет клиенту выполнять однородные операции сами отдельными объектами и их совокупностями. Паттерн Компоновщик позволяет клиенту выполнять однородные операции с комбинациями и отдельными объектами. Паттерн Компоновщик предоставляет структуру для хранения как отдельных объектов, так и комбинаций. В реализации паттерна Компоновщик приходится искать баланс между […]
Паттерн Итератор на C# на примерах
Паттерн Итератор предоставляет механизм последовательного перебора элементов коллекции без раскрытия ее внутреннего представления. Кроме того, перебор элементов выполняется объектом итератора, а не самой коллекцией.Это упрощает интерфейс, и реализацию коллекции, а также способствует более логичному распределению обязанностей. При использовании итераторов коллекция избавляется от одной обязанности поддержки операций перебора данных. Итератор предоставляет общий интерфейс перебора элементов коллекции, […]