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

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

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

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

РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead
Download Telegram
🛠 Строгая проверка назначения атрибутов в F# 10

В F# 10 компилятор стал жёстко проверять, что атрибуты применяются только к тем конструкциям, для которых они предназначены. Это касается функций, значений, объединений, конструкторов, структур, классов и других элементов.

Раньше F# позволял неявно применять атрибуты к неподходящим целям без предупреждений. Из-за этого возникали баги, например:

• Тестовые атрибуты не работали, если функция не имела (), и тесты не запускались

• Атрибуты-анализаторы иногда игнорировались, приводя к сбоям в CI без очевидной причины.

Пример такого кода, который никак не работал:
[<Fact>]
let ``this is not a function`` = // никак не запускался тест
Assert.True(false)


Теперь компилятор выдаёт предупреждение при неверном применении атрибутов:
[<Fact>]
//^^^^ предупреждение FS0842: атрибут нельзя применять к свойству, полю и т.п.
let ``works correctly`` =
Assert.True(true)


Атрибуты должны применяться только к совместимым элементам, например, к методам.

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

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

#sharp_view
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰2🌚2👍1
🛠 .NET MAUI и работа с возрастом

С началом 2026 года в США вступают в силу новые требования по верификации возраста пользователей для мобильных и десктопных приложений.

Да, это затрагивает несколько штатов в США, но стоит держать руку на пульсе.

.NET MAUI предоставляет удобный способ решения этой задачи с помощью единого интерфейса IAgeSignalService и трёх платформо-специфичных реализаций:

• Для Android используется Google Play Age Signals API, который возвращает пять статусов в зависимости от ситуации: от подтверждённого возраста до ожидания одобрения опекуна.

• На iOS применяется Apple Declared Age Range API, работающий на устройствах с iOS 26 и выше, отображающий возрастной диапазон и информацию о том, кто его подтвердил — сам пользователь или опекун.

• Windows предлагает Windows Age Consent API с упрощённой классификацией пользователей на три категории: ребёнок, несовершеннолетний и взрослый.

Главное преимущество — единая точка интеграции и адаптация под каждый API за счёт условной компиляции и инъекции зависимостей. Достаточно подключить сервис в MauiProgram, чтобы обеспечить проверку возраста на нужной платформе.

➡️ Блог Microsoft

🔹 AI-агенты для DS-специалистов
🔹 Получить консультацию менеджера
🔹 Сайт Академии 🔹 Сайт Proglib

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

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