2011-05-02 19 views
0
assemblyname.assemblyname myobj = new assemblyname.assemblyname() 

我看過裝配是用這種方式,爲什麼?這是什麼意思,以下列方式指代裝配

如我看到它被用來作爲諸如以及

assemblyname myobj = new assemblyname() 

示例代碼這樣

Using CreateUsers; 

CreateUsers.CreateUsers userCreation= new CreateUsers.CreateUsers(); 

回答

0

第一代碼明確指定的類的名稱空間,第二個沒有按」噸。第二個代碼需要在文件頂部附加using assemblyname;指令。

+0

丹尼爾,在我試圖瞭解的示例代碼中,他們確實在文件頂部使用了assemblyname,仍然使用assemblyname.assemblyname myobj = new assemblyname.assemblyname()。因此混亂。 – newtoc 2011-05-02 12:23:01

+1

然後它只是多餘的。但它也沒有傷害。 – 2011-05-02 12:24:05

+0

oki。因此,如果我要從開發人員那裏獲得程序集的新版本,並將其添加到我的bin目錄,那麼就初始化而言,我的代碼應該編譯得很好? – newtoc 2011-05-02 12:27:33

0

這不能是真正的程序集名稱。這是名字空間。

1

我覺得你很容易混淆命名空間名稱與程序集名稱。通常,頂級命名空間也是程序集名稱。

1

你的意思是命名空間,而不是程序集名稱 - 這些是完全不同的東西。

我會用例子來解釋。

當你對代碼的頂部using System.IO;,你可以有StreamReader reader = new StreamReader("path here");而不是System.IO.StreamReader reader = new System.IO.StreamReader("path here");作爲命名空間System.IO已經是「已知」的編譯器。

即使包含名稱空間,您仍然可以獲得完整的引用(例如System.IO.StreamReader),它不會拋出任何錯誤,並且可用於提高可讀性,有時在衝突時需要,這意味着包含兩個名稱空間,同名。