本文翻译于David Pine的这篇文章: Refactor your code using alias any type。 这篇文章是四篇系列文章中的第三篇,主要探讨C# 12的各种功能。在这篇文章中,我们将深入探讨“别名任何类型”功能,该功能允许您使用 using 指令为任何类型创建别名。这个系列已经初具规模: 使用主构造函数重构 C# 代码 使用集合表达式重构 C# 代码 使用任意类型别名重构 C# 代码(本篇文章) 重构 C# 代码以使用默认 lambda 参数 所有这些功能都将继续我们的旅程,使我们的代码更具可读性和可维护性,这些被认为是开发人员应该知道的“日常 C#”功能。让我们深入了解吧! 别名任意类型*️⃣ C# 12 引入了使用 using 指令为任意类型添加别名的功能。此功能允许您指定映射到其他类型的别名。这包括元组类型、指针类型、数组类型,甚至非开放泛型类型,所有这些类型都可以在您的代码中使用。此功能在以下场景特别有用: 当使用长或复杂的类型名称时。 当消除类型歧义并解决潜在的命名冲突时。 当定义要在程序集中共享的值元组类型时。 当希望通过使用更具描述性的名称来增加代码的清晰度时。 官方 C# 文档提供了很多有关如何使用此功能的示例,但我并不想在此重复这些示例,而是决定编写一个演示应用程序来示范该功能的各个方面。 可空引用类型 此功能支持大多数类型,但可空引用类型除外。也就是说,您无法为可空引用类型设置别名, C# 编译器会报告错误 CS9132:使用的别名不能是可空引用类型。以下内容摘自功能说明,以帮助澄清这一点: // This is not legal.
원문출처 : https://devblogs.microsoft.com/dotnet-ch/c12%E6%96%B0%E5%8A%9F%E8%83%BD%E5%90%88%E9%9B%86%E4%B8%89%EF%BC%9A%E4%BD%BF%E7%94%A8%E4%BB%BB%E6%84%8F%E7%B1%BB%E5%9E%8B%E7%9A%84%E5%88%AB%E5%90%8D%E9%87%8D%E6%9E%84c%E4%BB%A3%E7%A0%81
원문출처 : https://devblogs.microsoft.com/dotnet-ch/c12%E6%96%B0%E5%8A%9F%E8%83%BD%E5%90%88%E9%9B%86%E4%B8%89%EF%BC%9A%E4%BD%BF%E7%94%A8%E4%BB%BB%E6%84%8F%E7%B1%BB%E5%9E%8B%E7%9A%84%E5%88%AB%E5%90%8D%E9%87%8D%E6%9E%84c%E4%BB%A3%E7%A0%81