Primary Constructors in C# 12 - WORTH IT?

แชร์
ฝัง
  • เผยแพร่เมื่อ 6 ต.ค. 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 10 หลายเดือนก่อน

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

    • @ClaudioBernasconi
      @ClaudioBernasconi  10 หลายเดือนก่อน

      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 9 หลายเดือนก่อน

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

    • @ClaudioBernasconi
      @ClaudioBernasconi  9 หลายเดือนก่อน

      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 9 หลายเดือนก่อน

      @@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 🙂