💡Предложение для type (discriminated) unions в C#
Type unions позволяют хранить в переменной значения разных типов, которые могут быть ограничены заранее определенным набором типов. Это полезно, когда необходимо обрабатывать данные разного типа, но связанные общей логикой.
📌 В C# предлагается четыре категории type unions:
🔻 Standard Unions — объединения, где типы членов и само объединение могут быть определены вместе, например, для сериализации или моделей данных.
🔻 Specialized Unions — для кейсов, когда необходимо избегать выделения памяти или использовать специальные типы, при этом допуская некоторые ограничения.
🔻 Ad Hoc Unions — анонимные объединения типов, которые могут состоять из существующих, возможно, несвязанных типов.
🔻 Custom Unions — для кейсов, которые не подходят под предыдущие категории, например, если требуется особая логика хранения данных или поведение API.
Type unions могут быть реализованы как классы, структуры или анонимные объединения с использованием предложенного синтаксиса. Это расширяет возможности C# по работе с различными типами данных и улучшает безопасность типизации на этапе компиляции.
💬 Как вам?
Post #5050
6.23K