繁体   English   中英

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

[英]A using namespace directive can only be applied to namespaces

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)

我的错在哪里?

我的错在哪里?

它在这里: using System.DateTime;

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

通过using System.DateTime;替换using System.DateTime;解决此问题using System.DateTime; using System;

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

using DT = System.DateTime;

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

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

using system;

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

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

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

 DateTime returnedDate = DateTime.Now();

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

using System.DateTime;

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

using System;

并在代码中使用DateTime类。

在C#6中你可以做到

using static System.DateTime;

var now = Now;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM