本文翻译于David Pine的这篇文章:Refactor your C# code with primary constructors 作为 .NET 8 一部分的 C# 12 引入了一组引人注目的新功能! 在这篇文章中,我们将探讨其中一个功能,特别是主构造函数,解释其用法和相关性。 然后,我们将演示一个重构示例,以展示如何将其应用到您的代码中,并讨论其好处和潜在的缺陷。 这将帮助您了解这一更改的影响并有助于您决定是否采用该功能。 主构造函数1️⃣ 主构造函数被认为是一项“C#日常”的开发人员功能。 它们允许您在一个简洁的声明中定义类或结构及其构造函数。 这可以帮助您减少需要编写的样板代码量。 如果您一直在关注 C# 版本,您可能熟悉记录类型,其中包括主构造函数的第一个示例。 与记录类型的区别 记录类型作为类或结构的类型修饰符引入,这简化了构建简单类(如数据容器)的语法。 记录可以包括主构造函数。 该构造函数不仅生成一个支持字段,而且还为每个参数公开一个公共属性。 与传统的类或结构类型不同,在传统的类或结构类型中,主构造函数参数可以在整个类定义中访问,而记录被设计为透明的数据容器。 他们本质上支持基于值的相等,这与他们作为数据持有者的预期角色相一致。 因此,它们的主构造函数参数可以作为属性访问是合乎逻辑的。 重构示例✨ .NET 提供了许多模板,如果您曾经创建过Worker Service,您可能见过以下Worker类模板代码: namespace Example.Worker.Service { public class Worker : BackgroundService { private readonly ILogger
원문출처 : https://devblogs.microsoft.com/dotnet-ch/c12-%E5%BC%95%E5%85%A5%E4%B8%BB%E6%9E%84%E9%80%A0%E5%87%BD%E6%95%B0%EF%BC%9A%E7%AE%80%E5%8C%96%E4%BB%A3%E7%A0%81%E9%87%8D%E6%9E%84
원문출처 : https://devblogs.microsoft.com/dotnet-ch/c12-%E5%BC%95%E5%85%A5%E4%B8%BB%E6%9E%84%E9%80%A0%E5%87%BD%E6%95%B0%EF%BC%9A%E7%AE%80%E5%8C%96%E4%BB%A3%E7%A0%81%E9%87%8D%E6%9E%84