关于C#6.0中"使用静态"的重大变化,如何处理在VS 2013和VS2015中编辑的C#代码库?

Rag*_*ama 4 c#-6.0 visual-studio-2015

我有一个C#代码库,它正在VS 2013和VS 2015 CTP 6中进行编辑.CTP 6来自C#v6,它需要在某些导入上使用"静态".

有没有一种方法可以确定使用哪个版本(VS或C#),以便我可以使用预处理器指令来使用"using"或"using static"?

例如

#if CS6
   using static ...
#else
   using ...
#endif
Run Code Online (Sandbox Code Playgroud)

预处理器指令是我最初的想法.如果有另一种方法可以做到这一点,我全都耳朵.

Wai*_*Lee 6

using不应要求静电; 它是已添加到C#6.0的语法糖.您应始终能够指定静态方法的完全限定名称来调用它,例如,而不是

using System.Environment;

// class and method declaration elided

var path = GetFolderPath(...);
Run Code Online (Sandbox Code Playgroud)

你可以永远拥有

// no static using here!

// class and method declaration elided

var path = System.Environment.GetFolderPath(...);
Run Code Online (Sandbox Code Playgroud)

或者,如果你没有自己的课程System(为什么你会这样做?):

// still no static using here!
using System;

// class and method declaration elided

var path = Environment.GetFolderPath(...);
Run Code Online (Sandbox Code Playgroud)