Введение В процессе разработки приложений на C# иногда возникает необходимость монтировать сетевые диски напрямую из кода. Однако .NET Framework и .NET Core не предоставляют встроенных средств для работы с сетевыми ресурсами такого типа. Это может стать проблемой для разработчиков, которым нужно автоматизировать подключение сетевых хранилищ, например, в корпоративных приложениях. Почему стандартных средств .NET недостаточно? Несмотря […]
Метка: программирование
Паттерн Состояние на C#
Паттерн Состояние управляет изменением поведения объекта при изменении его внутреннего состояния. Внешнее это выглядит так, словно объект меняет свой класс. Паттерн Состояние позволяет объекту иметь много разный вариантов поведения в зависимости от его внутреннего состояния. В отличие от процедурных конечных автоматов, состояние в этом паттерне представляется полноценным классом. Поведение контекста реализуется делегированием выполняемых операций текущему […]
Паттерн Шаблонный Метод на примерах
Паттерн Шаблонный Метода задает скелет алгоритма в методе, оставляя определение реализации некоторых шагов субклассам. Субклассы могут переопределять некоторые части алгоритма без изменения его структуры. Основной задаче паттерна является создание шаблона алгоритма, то есть метод определяющий алгоритм в виде последовательности шагов. Один или несколько шагов определяются ввиде абстрактных методов, реализуемых субклассами. Таким образом гарантируется неизменность структуры […]
Как проверить подключение к интернету на компьютере
Проверка наличия интернет-соединения — задача, с которой сталкиваются многие разработчики. Хотя кажется, что всё просто, на практике есть нюансы: фаерволы, DNS, доступность серверов. Мы рассмотрим простой и надежный способ — отправку HTTP-запроса к сайту Google. Если сервер отвечает с кодом 200 (OK) — значит, интернет есть. В противном случае — нет. using System; using System.Collections.Generic; […]
Пример приема и передачи файла по сети C#
Вы этой статье я покажу как можно создать клиентско серверное приложение для передачи файлов по сети. Для начала напишем проект для передачи файла: using System; using System.Drawing; using System.Collections; using System.ComponentModel; using System.Windows.Forms; using System.Data; using System.Runtime.Serialization.Formatters.Binary; using System.IO; using System.Net; using System.Net.Sockets; namespace File_Sender { /// <summary> /// Summary description for Form1. /// </summary> […]
Как получить позицию курсора C#
Ниже я покажу как можно при помощи C# получить позицию курсор мыши на экране и переместить ее, использовать мы будет функцию WinAPI GetCursorPos(); using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Runtime.InteropServices; using System.Threading; namespace CursorPosition { public partial class frmMain : Form { public frmMain() { InitializeComponent(); […]
Как заполнить массив случайными числами
Перед нами стоит задача заполнить массив случайными числами, так что бы все числа не имели повторения, да еще числа должны быть определённого диапазона. Пример дан массив с размерностью 10, диапазоном чисел 100, необходимо сгенерировать массив таким образом что бы они не повторялись. Разобьем задачу на части, а именно надо определить для начала какая размерность массива […]
Как создать динамический массив на C#?
Такую задачу обычно дают в универах, да бы студенты понимали, что вообще скрывается под словом динамический массив. Ведь массив имеет ограниченное число возможных элементов с заранее неизменяемым размером, и безгранично в него невозможно добавлять их. То есть, к примеру, если Вы создали массив, который содержит пять элементов, то увеличить данный размер динамически Вы уже не […]
Паттерн Одиночка Singleton C#
Паттерн Одиночка гарантирует что в любой момент времени существует только один экземпляр класса.Если у класса вашего приложения должен существовать только один экземпляр, воспользуйтесь паттерном Одиночка. Реализация паттерна Одиночка на языке C# использует приватный конструктор и статический метод в сочетании со статической переменной. Паттерн Одиночка предоставляет глобальную точку доступа к этому экземпляру. Давайте рассмотрим интересный пример, […]
