C# 6.0 (C# vNext) 新功能之:Static Using Statements

Static Using Statements 这怎解释?看名称不解。
如果改成 Using Statements for Static 会不会比较适当一点?


这又是一个 C# 6.0 的语法糖(syntactic sugar)
看一下例子:(从 MSDN 上找来的)
using System;
using System.Console;
public class Program
{
  private static void Main()
  {
    ConsoleColor textColor = ForegroundColor;
    try
    {
      ForegroundColor = ConsoleColor.Red;
      WriteLine("Hello, my name is Inigo Montoya... Who are you?: ");
      ForegroundColor = ConsoleColor.Green;
      string name = ReadLine(); // Respond: No one of consequence
      ForegroundColor = ConsoleColor.Red;
      WriteLine("I must know.");
      ForegroundColor = ConsoleColor.Green;
      WriteLine("Get used to disappointment");
    }
    finally
    {
      ForegroundColor = textColor;
    }
  }
}
重点在於一开始的:
using System.Console;

在以前的版本,using 主要用於
1. using [namespace]
2. using [alias name] = [Fully Qualified Type Name]
第一种是用来引用该命名空间下的各种类型
第二种是用来替某个类型取别名

当然还有 using(var x = new xxx){} 这个不在此讨论。

这个 using System.Console;
就是 Static Using Statement
一开始引用之后,后面的语法就可以:
WriteLine("Hello, my name is Inigo Montoya... Who are you?: ");
而不用再写成
Console.WriteLine("Hello, my name is Inigo Montoya... Who are you?: ");

所以像 System.Console, System.Math 这些有许多静态方法的类,就蛮适合的。
除了这个之外,另外一个效果是:
这种方式 只会引入指定类的扩展方法 (Extension Method),而不是引入某命名空间下的全部扩展方法。这个蛮不错的。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值