Primary Constructors in C# 12 - WORTH IT?

Поделиться
HTML-код
  • Опубликовано: 22 ноя 2024

Комментарии • 13

  • @ClaudioBernasconi
    @ClaudioBernasconi  Год назад +3

    What do you think of primary constructors in C# 12? Will you use them? 🤔

  • @vivekkaushik9508
    @vivekkaushik9508 Год назад +3

    I love this feature. This feature will make our services more leaner as all those dependencies won't be needed to be assigned to backing fields.

    • @ClaudioBernasconi
      @ClaudioBernasconi  Год назад +1

      Yes, it makes it a lot leaner, I agree. Do you worry about newcomers having a hard time learning about primary constructors or do you believe it will be a standard feature in a few years?

    • @10Totti
      @10Totti Год назад

      @@ClaudioBernasconiStandard.

  • @dustinjoosen5901
    @dustinjoosen5901 Год назад

    I really like them. I'm sure there'll be some good use-cases. I'll see when it comes up

    • @ClaudioBernasconi
      @ClaudioBernasconi  Год назад

      Definitely an interesting feature. We'll see how it shapes the C# codebases in the future. 😉

  • @pilotboba
    @pilotboba Год назад

    This is an old feature that I thought was in C# several versions ago. Apparently they dropped it. They then used it for Records and now are adding it for a normal class.
    As far as you having to understand it, I think that's true of most C#. :) But yes it is less obvious what is going on here, what is in scope, the fact that they are mutalbe, etc. The same can be said about pattern matching and switch expressions.
    That said, you should 100% use file-scoped name spaces, unlike what you showed here. I think that one is a no-brainer.

    • @ClaudioBernasconi
      @ClaudioBernasconi  Год назад

      I use file-scoped namespaces for my projects, but when I show a new language feature I prefer having everything else on default. Thanks for leaving your comment. 👍

  • @programedegraca
    @programedegraca Год назад

    Que conteúdo excelente. Muito obrigado.

  • @KennethSiewersMller
    @KennethSiewersMller 10 месяцев назад

    They are not fields, they are global scoped parameters. There's a big difference, since parameters cannot be declared as readonly.

    • @ClaudioBernasconi
      @ClaudioBernasconi  10 месяцев назад

      Thanks for your comment. Can you elaborate on your statement? I have never heard of global scoped parameters. All I know is that the following looks pretty much like a private field. ibb.co/sjTDB5m

    • @KennethSiewersMller
      @KennethSiewersMller 10 месяцев назад

      @@ClaudioBernasconi look at the tip when you hover the name. It says “parameter”.
      Yes, it looks like a field, but it’s a parameter. You’ve never heard of it because it’s new in C# 12 😉
      But don’t think of it as a field, although it looks like it 🙂