我想知道這個代碼這些不同類型的命名空間在C#中的意思
我知道下面的代碼包含命名空間
using SampleAngularApp.Models;
using System;
using System.Collections.Generic;
而且我知道下面的代碼包含有什麼區別命名空間
namespace SampleAngularApp.Controllers
{
.......
}
這兩種類型的命名空間有什麼區別?
我想知道這個代碼這些不同類型的命名空間在C#中的意思
我知道下面的代碼包含命名空間
using SampleAngularApp.Models;
using System;
using System.Collections.Generic;
而且我知道下面的代碼包含有什麼區別命名空間
namespace SampleAngularApp.Controllers
{
.......
}
這兩種類型的命名空間有什麼區別?
行namespace SampleAngularApp.Controllers
是定義命名空間(或範圍,或虛擬隔離)。這可能是名稱空間的第一個實例,或者它可能添加到已在別處定義的相同名稱空間。這些名稱空間(作用域)獨立於物理代碼邊界,即相同的名稱空間可以存在於兩個或更多不同的程序集中。
行using SampleAngularApp.Models;
等是導入命名空間,IOW使該範圍可用於本地代碼。您不需要使用using
語句,每次使用類型或引用方法/屬性時都可以指定完整的名稱空間,但這僅僅是瘋狂的。將代碼行放在代碼中可能只有一半的過程 - 您還必須在要使用的名稱空間內添加對具有代碼的程序集的引用。
當您使用'使用'鍵。你正在告訴編譯器你想使用這個名字空間,並且你的類中的這個名字空間下的每個類都是我的名字空間,這個名字空間用於我的課,所以當你在另一個命名空間使用你的類時,你需要在使用語句中添加它。
例如:
Using SampleAngularApp.Controllers
然後我可以使用所有的類都在 'SampleAngularApp.Controllers' 命名空間
隨着
namespace SampleAngularApp.Controllers { ....... }
您聲明命名空間是一個範圍讓您組織代碼並防止創建全局唯一類型。
隨着使用SampleAngularApp.Models
;
using System;
using System.Collections.Generic;
您正在告訴編譯器,該代碼塊使用上面的命名空間,並且所有類都是accessible
。
意味着您可以在應用程序的範圍內使用每一件事物。
我想你甚至可以搜索一分鐘來識別差異 – saeed