上QQ阅读APP看书,第一时间看更新
2.2.4 using static指令
在using关键字后面加上static不仅可以引入目标命名空间,还可以引入目标命名空间下的静态类型。当静态类型被using static指令引入后,在代码中访问静态类的成员时就不必输入类型的名称,而是直接输入静态类型的成员名称就可以了。下面将通过一个示例来演示using static指令的用法。
Console类位于System命名空间下,并且它是一个静态类,所以它的所有成员都是静态的。所谓静态类型,即它是基于类型本身的,而不是基于类型实例的。在调用静态类型的成员之前不需要进行实例化,可以直接访问类型的成员。
首先,通过using static指令把System命名空间下的Console类引入。
using static System.Console;
如果只引入了System命名空间,那么在访问Console类的成员时,需要写上类名,如
Console.WriteLine(…);
而本例中,已经使用using static指令将Console类也引入了,所以在调用它的成员时,直接输入成员名字就可以了,不必再输入类名。比如:
// 直接调用Console类的WriteLine方法 WriteLine("可以直接调用静态方法。"); // 直接调用Console类的ReadKey方法 ReadKey();
在上面的代码中不必输入Console,就可以调用WriteLine和ReadKey方法了。要注意的是,如果使用using static指令引用指定的类型,在代码中只能访问该类型的静态成员(即带有static关键字声明的成员),不能访问实例成员(因为实例成员必须在类型实例化后才能访问)。
完整的示例代码请参考\第2章\Example_2。