C# 静态的两个名称 class

Two names for a C# static class

它非常懒惰,但我想知道是否有可能让两个名称本质上指向同一个静态 class。

我有一个很长的描述性静态 class 名称 BusinessLogicServiceUtility(例如),它在代码中看起来相当冗长。

我喜欢使用 BLSU 作为替代方案,所以我尝试用我的短 class 名称扩展长 class:

public static class BLSU : BusinessLogicServiceUtility
{
}

这可能看起来很菜鸟,但事实证明,它不起作用。

看起来好像我可以将长 class 中的每个方法和短 class 中的方法包装起来,但是有 很多 方法,这使得维护它变得很痛苦并绕过了整个懒惰目标。

有没有一种方法可以将两个名称分配给一个静态 class,或者其他方法只是 "extending" 一个静态 class?

您可以为类型创建别名:

using BLSU = Your.Namespace.BusinessLogicServiceUtility;

正在访问以下类型的成员:

BLSU.SomeStaticMethod();

使用 C# 6,您甚至可以走得更远 - 访问类型的静态成员 完全不必限定类型名称:

using static Your.Namespace.BusinessLogicServiceUtility;

正在访问以下类型的成员:

SomeStaticMethod();

进一步阅读:using Directive (C# Reference)

此外,您可以使用 using static,这样您就可以在使用这些方法时完全不使用 class 作为前缀:

在文件的顶部:

using static BusinessLogicServiceUtility;

并假设您的静态 class 中有一个方法 public static DoLogicThings(),您现在可以直接访问它:

public void SomeMethod()
{
     DoLogicThings();
}

这是在 C#6 中添加的。