c#:如何创建别名为类

本文关键字:别名 创建 何创建 | 更新日期: 2023-09-27 18:05:40

我甚至不知道它是否称为别名,但让我继续。

你知道这个系统。c#中的字符串类型是sort "别名"与"string" ?在Visual Studio中,"string"为小写蓝色文本。我想对一些冗长的类名做这样的处理。有些都像"relocatedplantproductreleaseitem"。我不能更改它的名称,但是这么长的名称确实使代码冗长。我希望能够使用" rpp "代替。所以不用这个:

RelocatedPlantProductReleaseItem Item = new RelocatedPlantProductReleaseItem();

我想:

Rppr Item = new Rppr();

我知道我可以创建一个名为Rppr的类,并让它从RelocatedPlantProductReleaseItem继承,但这似乎很粗糙。

同样,我上面给出的场景完全是虚构的。我只是用它来演示我想要实现的基本功能。

还有,当"string"system . string ?代表

我希望这是一个全局的事情。我不想在每个代码文件的顶部指定它。我想在一个地方指定它,它在整个应用程序中的任何地方都可以工作,甚至在引用其程序集的其他程序集中。

c#:如何创建别名为类

使用using指令

using Rppr = Namespace.To.RelocatedPlantProductReleaseItem;

EDIT Op澄清请求全局解决方案。

在c#中没有等价的typedef样式可以创建一个全局替换类型名。你需要在每个想要这个缩写的文件中使用using指令,或者使用长版本的名称。

string是c#语言为引用实际CLR类型System.String提供的便利。

您可以使用using指令获得类似的结果。在您希望缩短名称的文件顶部,添加以下行:

using ShortName = Namespace.ReallyLongClassNameGoesHereOhGodWhy;

然后输入ShortName myVar = new ShortName();

注意,您必须在每个文件的基础上执行此操作。您无法通过单个声明获得与string相同的覆盖率。

Try

using Rppr = SomeNamespace.RelocatedPlantProductReleaseItem;
参考

你可以这样做:

using Rppr = RelocatedPlantProductReleaseItem;

创建别名:

using alias = LongClassName;

该别名在您声明它的命名空间中可见

你可以在你的文件顶部添加一个using指令:

 using Rppr = MyProjectNs.RelocatedPlantProductReleaseItem;

但它(只)适用于每个文件,而不是一个项目。

尝试在您的其他使用

中添加以下内容
using Rppr = YourItemsNamespace.RelocatedPlantProductReleaseItem;

从c# 10开始,现在可以通过使用global修饰符来全局执行此操作。

global using Rppr = Namespace.To.RelocatedPlantProductReleaseItem;

这可以添加到编译中的任何文件中,然后应用于所有其他文件,但必须在任何没有global修饰符的using指令之前添加。