在 C# 中,有没有办法定义类型同义词?

In C#, is there a way to define a type synonym?

在我的 C# 项目中,我需要以下形式的长联合类型:

System.Tuple<..., ..., ...>

其中 ... 是名称足够长的组件,整个元组类型声明延伸整行宽度。

C# 是否支持 shorthand 这个方法?

我想像 Haskell 的 type synonyms,我可以在其中声明一个短类型名称来代替长类型名称,就像我可以声明一个新变量一样容易。

我尝试使用 var,但由于我需要向 delegate 声明参数类型,我在读取 "the contextual keyword 'var' may only appear within a local variable declaration or in script mode" 时收到错误消息;看来仅使用 var 对我的情况不起作用。

有:

using MyAlias = MyLongType

它被称为使用别名指令。它也适用于 命名空间 。更多信息 here

然而,这仅适用于 1 个文件。 您要么需要将它写在您将使用它的每个文件中,要么使用解决方法:

从 class 继承 long 类型,不添加任何功能。

示例:

class  MyAlias: MyLongType{}

直接来自文档

using directive (C# Reference)

To create an alias for a namespace or a type. This is called a using alias directive.

using Project = PC.MyCompany.Project;

例如

using ShortTypeName = My.Very.Silly.Long.TypeName.That.is.VerySuspiciousAndProbablyShouldBeRefactoredAnyway;`
using ShortOtherTypeName = My.Very.Silly.Long.TypeName.That.is.VeryOtherSuspiciousAndProbablyShouldBeRefactoredAnyway;`

internal class Program
{
    private (ShortTypeName , ShortOtherTypeName ) _myLovelyTuple;