Паттерн декоратор как его еще называют оберткой, динамически наделяет объект новыми возможностями и является гибкой альтернативой субклассированию в области расширения функциональности. Давайте представим проблему мы разрабатываем программную часть кофейного автомата. В начале у нас автомат умел только выдавать названия сорта кофе и готовить его, а также рассчитывал его стоимость. В автомате у нас находилось не […]
Паттерн Наблюдатель в примерах на C#
Для понимания этого паттерна можно представить следующую ситуацию. Все мы используем социальные сети, и многие из нас подписаны на какие-то рассылки, групп. В таком аспекте мы являемся наблюдателями Observer, а владелиц группы издателем Subject. Хоть там за кулисами мы и не видим всего происходящего, но именно этот паттерн там реализован. Если бы владелец, вручную делал […]
Паттерн стратегия в примерах на C#
Паттерн Стратегия определяет семейство схожих алгоритмов, инкапсулирует каждый из них и обеспечивает их взаимозаменяемость. Он позволяет модифицировать алгоритмы независимо от их использования на стороне клиента. Если простыми словами, то определяются схожие функции помещая их в собственные классы и позволяет их изменять во время работы программы. Из представленного примера ниже, мы видим схожий функционал всех уток, […]
Шифрование данных в C# — простой пример с паролем
Класс шифрования на C#: быстрое и простое шифрование паролем. В современном программировании защита данных становится ключевым аспектом. Представленный ниже класс Encryptor на языке C# реализует простое шифрование и дешифрование данных, используя возможности встроенных классов .NET Framework: TripleDESCryptoServiceProvider и MD5CryptoServiceProvider. Зачем нужен этот класс? Этот класс упрощает быстрое шифрование данных паролем с помощью встроенных функций .NET […]
Экспорт данные в CSV C#
Введение Экспорт данных в формате CSV — один из самых распространённых способов сохранения таблиц для последующего анализа или импорта в Excel. В этой статье вы узнаете, как просто сохранить содержимое DataTable или DataView в .csv-файл на C# с помощью встроенных средств .NET Framework. using System; using System.Data; using System.Windows.Forms; using System.IO; private void ExportDatatviewToCsv(string iFilename, […]
Создание скриншотов с помощью C #
Введение Если вам нужно сделать снимок экрана средствами C#, один из надёжных способов — использовать GDI-функции через Windows API. Такой подход обеспечивает доступ к системному устройству вывода и позволяет точно скопировать изображение с экрана. Как работает код Пример ниже использует WinAPI-функции GetDC, BitBlt, ReleaseDC, чтобы скопировать изображение экрана в Bitmap, используя возможности GDI. public class […]
Вычисляет угол, под которым точка находится к началу координат
Введение При работе с графикой, игровыми элементами или визуализацией часто требуется преобразовывать координаты точек в углы и обратно. Это полезно, например, для расположения объектов по кругу или вычисления направления. Вычисление координат точки по углу и радиусу Метод DegreesToXY принимает угол в градусах, радиус и начальную точку (origin). Он возвращает координаты точки, находящейся под этим углом […]
Как удалить программе саму себя? C#
Для этого используем пакетный сценарий, который он создает для удаления исполняемого файла, а затем удаляет себя сам. using System.Diagnostics; using System.IO; static private void DeleteSelf() { //Use this line if your running from console //string pa = Process.GetCurrentProcess().MainModule.FileName; //Use this line if your running from Windows Form string pa = Application.StartupPath; string bf = «@echo […]
Как создать быструю XML-документацию к коду C#
XML-документация по C# Знаете ли вы, что при написании кода можно писать XML-документацию для проектов C#.NET? Документация программного обеспечения имеет решающее значение не только для приложений .NET, но и для всех программ. Разработчики .NET имеют возможность минимизировать задачу написания документации благодаря встроенной поддержке xml-документации. В двух словах, вы можете превратить комментарии C# в XML-документацию .NET с простым изменением настроек. […]
Защита обфускации кода C#
Что такое обфускация кода? Обфускация кода C# означает скремблирование исходного кода приложения при сохранении исходной функциональности программы. Цель обфускации состоит в том, чтобы люди не украли исходный код вашей программы. Это способ защиты исходного кода C#. К сожалению, программы C# (то же самое с другими языками .NET) могут быть очень легко декомпилированы. В Интернете есть много […]
