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?
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.
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. 👍
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
@@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 🙂
What do you think of primary constructors in C# 12? Will you use them? 🤔
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.
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?
@@ClaudioBernasconiStandard.
I really like them. I'm sure there'll be some good use-cases. I'll see when it comes up
Definitely an interesting feature. We'll see how it shapes the C# codebases in the future. 😉
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.
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. 👍
Que conteúdo excelente. Muito obrigado.
Muito obrigado.
They are not fields, they are global scoped parameters. There's a big difference, since parameters cannot be declared as readonly.
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
@@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 🙂