2013-07-17 108 views
1
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) 

哪裏是我的錯?

+8

是的,這是不是Java。您可以導入命名空間,而不是類; p – leppie

回答

1
using System; 

DateTime returnedDate = DateTime.Now(); 
+0

'DateTime。現在'''是一個靜態屬性而不是方法 – 2017-04-27 06:26:32

10

我的錯誤在哪裏?

正是在這裏:using System.DateTime;

DateTime裏面System命名空間的類,而不是一個命名空間。在C#中,您只能將using指令應用於名稱空間。將using XYZ添加到您的程序中可讓您從該名稱空間內的類中省略命名空間前綴XYZ - 例如,要引用類XYZ.ABC,您可以編寫ABC。儘管如此,using目錄沒有下降到類級別(這與Java的導入目錄相反,其中名稱末尾的.*是可選的)。

修復此用using System;

編輯替換using System.DateTime;(響應由Karl-Johan Sjögren評論)還有一種using結構在C#中,可以讓你創建類型的別名。這種結構需要的類名,但需要你爲他們指定新的名字,如:

using DT = System.DateTime; 

現在你可以代替System.DateTime使用DT。使用命名空間

using system; 

OR這樣用了:

+1

+1可以正確解釋。但是實際上你可以在類中使用''using'來創建別名,比如'使用DT = System.DateTime;'然後'DT returnedDate = DT.Now;'。 –

+0

但我想要它; _;爲不指定嵌套的枚舉,如「導入靜態」Java功能... – AvrDragon

3

你應該使用命名空間像這樣

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

DateTime returnedDate = DateTime.Now(); 
0

DateTime的是一種類型,這意味着它的一類。 C#關鍵字「using」只能與名稱空間一起使用。所以爲了在你的代碼中使用DateTime類,你不需要像這樣寫。

using System.DateTime; 

而不是上面寫一行,僅包括系統命名空間是這樣的。

using System; 

並在代碼中使用DateTime類。

0

在C#6你可以做

using static System.DateTime; 

var now = Now;