using namespace指令只能应用于名称空间

时间:2013-07-17 10:45:17

标签: c# .net datetime

using System.Text.RegularExpressions;
using System.DateTime; 

DateTime returnedDate = DateTime.Now();

它给我错误:

A using namespace directive can only be applied to namespaces; 
'System.DateTime' is a type not a namespace (line 1, pos 1)

我的错误在哪里?

6 个答案:

答案 0 :(得分:13)

  

我的错误在哪里?

就在这里:using System.DateTime;

DateTimeSystem命名空间内的一个类,而不是命名空间。在C#中,您只能将using指令应用于名称空间。将using XYZ添加到程序中可以省略该命名空间内的类的名称空间前缀XYZ - 例如,引用类XYZ.ABC可以编写ABCusing目录不会降级到类级别(这与Java的导入目录形成对比,其中名称末尾的.*是可选的)。

通过将using System.DateTime;替换为using System;

来解决此问题

编辑:(响应Karl-Johan Sjögren的评论)C#中还有另一个using构造,可让您创建类型的别名。此构造使用类名,但需要为它们指定新名称,如下所示:

using DT = System.DateTime;

现在,您可以使用DT代替System.DateTime

答案 1 :(得分:3)

您应该像这样使用命名空间:

using system;

以这种方式使用命名空间:

System.DateTime returnedDate = System.DateTime.Now();

答案 2 :(得分:3)

using System; 

DateTime returnedDate = DateTime.Now();

答案 3 :(得分:1)

using System; 

 DateTime returnedDate = DateTime.Now();

答案 4 :(得分:0)

DateTime是一种类型,表示它是一个类。 C#keyword"使用"只能用于名称空间。所以为了在你的代码中使用DateTime类,你不需要像这样写。

using System.DateTime;

而不是写上面的行,简单地包括这样的系统命名空间。

using System;

在代码中使用DateTime类。

答案 5 :(得分:0)

在C#6中你可以做到

using static System.DateTime;

var now = Now;