C#中方法的可见性

时间:2015-08-05 21:31:24

标签: c# static-methods

在C#6.0中有一个新功能using static允许使用这样的代码

using static Query.QueryBuilder;

static void BuildQuery()
{
    var newQuery = Where(Eq("Value1","Value2"))
}

构建查询的方法是类QueryBuilder

中的静态方法
namespace Query
{
    public static QueryBuilder
    {
       public static string Where(Object obj);
       public static string Eq(Object obj);

    } 
}

这允许删除指定静态类名QueryBuilder以从此类调用静态方法。

是否有可能在C#3.0中做类似的事情?有一种方法可以使用别名来实现,但仍然需要使用某种缩短的前缀来调用方法。

1 个答案:

答案 0 :(得分:1)

不,静态使用对于C#6来说是全新的,并且无法获得相同的行为(不需要类名)。

正如您所提到的,有很多方法可以接近,但在早期版本中并没有完全相同。