All streams
Search
Write a publication
Pull to refresh
0
0
Send message

Возвращаясь к теме предыдущей статьи: думаю что в проде стоит использовать готовое решение

  1. Советую присмотреться к двум типовым решениям для создания обёрток:

    1. Использование готовых SourceGenerator'ов или написание своих. Например: https://github.com/andrewlock/StronglyTypedId
      Можно ещё и для еnum'ов генерировать через SourceGenerator'ы обёртки чтобы не писать постоянно Enum.IsDefined. Мы такое реализовали для себя

    2. Написать свой t4 шаблон

  2. Так же в статье не упомянута важная проблема создания структур через default, который весело проигнорирует все валидации

  3. IComparable это только вершина айсберга. В для таких обёрток придётся реализовывать кучу разных "расширений" для того чтобы их можно было парсить/(де)сериализовывать вашим любимым сериализатором/конвертировать чтобы ORM корректно строила запросы. В общем создавая обёртку мы теряем весь функционал реализованный в различных библиотеках для примитивов.
    Решить эту проблему без поддержки со стороны языка, кажется нельзя.

Information

Rating
Does not participate
Registered
Activity

Specialization

Backend Developer, Software Architect
C#