Библиотека шарписта | C#, F#, .NET, ASP.NET
22.5K subscribers
2.48K photos
39 videos
85 files
4.7K links
Все самое полезное для C#-разработчика в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/b60af5a4

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead
Download Telegram
😊 Модернизация .NET приложений с GitHub Copilot

Обновление устаревших .NET приложений часто превращается в мучительный процесс с долгими исправлениями и конфликтами зависимостей.

С GitHub Copilot модернизация стала проще и быстрее — этот инструмент помогает автоматизировать всё главное, сокращая время работы с недель до нескольких часов.

Как начать модернизацию

1. Откройте проект или решение в Visual Studio

2. Запустите агент-сессию: через контекстное меню Modernize или в GitHub Copilot Chat используя команду @modernize

3. Выберите путь модернизации: обновление версии .NET, миграция в Azure или другие опции

4. Проведите оценку и спланируйте

• Copilot анализирует код и зависимости
• Задаёт вопросы для настройки плана под ваши цели
• Генерирует Markdown-план модернизации для согласования и редактирования

Как проходит обновление

• После утверждения плана Copilot обновляет файлы, корректирует импорты и синтаксис автоматически

• Циклично исправляет ошибки сборки и запускает тесты для обеспечения стабильности

• Каждый крупный шаг фиксируется в Git с возможностью отката

• В случае сложных проблем, Copilot останавливается и запрашивает ваш ввод

➡️ Источник

🔹 Специалист по ИИ
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib

🐸 Библиотека шарписта

#sharp_view
Please open Telegram to view this post
VIEW IN TELEGRAM
🌚32
🧑‍💻 Новые возможности модификаторов доступа на авто-свойствах в F# 10

До F# 10, чтобы создать свойство с публичным геттером и приватным сеттером, приходилось писать много кода с явным объявлением полей и методов. Теперь это стало проще — можно задавать разные уровни доступа прямо на авто-свойствах.

Раньше подобное требовало большого количества шаблонного кода:
type Ledger() =
[<DefaultValue>] val mutable private _Balance: decimal
member this.Balance with public get() = this._Balance and private set v = this._Balance <- v


В F# 10 достаточно написать:
type Ledger() =
member val Balance = 0m with public get, private set


Особенности

• Модификатор доступа можно назначить либо на всё свойство, либо отдельно на геттер или сеттер.

• В сигнатурах .fsi это пока не поддерживается, ограничения остаются

Теперь можно писать меньше шаблонного кода, сохраняя чёткое разграничение прав собственности.

🔹 ML для старта в Data Science
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib

🐸 Библиотека шарписта

#sharp_view
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱43👾1
✏️ Сокращаем код

Collection expressions — удобный синтаксис для создания и инициализации коллекций и массивов с помощью квадратных скобок и элементов, разделённых запятыми. Можно использовать spread-элементы (..) для вставки содержимого других коллекций внутрь новой.

Пример:
int[] odds = [1, 3, 5, 7];

string[] vowels = ["a", "e", "i", "o", "u"];
string[] consonants = ["b", "c", "d", "f"];
string[] alphabet = [..vowels, ..consonants, "y"];


С помощью выражений коллекций можно легко создавать массивы, списки, Span и другие коллекторные типы. Появились они в C# 12.

🔹 Экспресс-курс «Математика для Data Science»
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib

🐸Библиотека шарписта

#sharp_view
Please open Telegram to view this post
VIEW IN TELEGRAM