我想知道如果有人以前看過這種情況,或者有什麼建議可能會導致它。我有一個名爲Dashboard
的定製類,它存在於名爲Dashboard.Data.Client
的項目中。在同一個項目中,如果我嘗試引用類的命名空間,如:爲什麼我不能爲一個名稱空間聲明using語句,但可以直接在類型之前聲明這個名稱空間?
using Alliance.Dashboard.Data.Client.Models;
那麼我不能使用類型Dashboard
。但是,在任何需要使用Dashboard
的地方,我都可以輸入完全限定的名稱,並且工作正常。例如:
Alliance.Dashboard.Data.Client.Models.Dashboard myDashboard = new Alliance.Dashboard.Data.Client.Models.Dashboard();
的幾個注意事項,我相信你會想:
如果我只是在一個類類型
Dashboard
,然後嘗試解決這個問題,該選項不可用。如果存在衝突的命名空間,我以前就看到過這個問題。在這種情況下,必須給出完全合格的名稱。這裏情況不同。沒有衝突的命名空間。
其他類在這個項目中解決得很好。事實上,這是一個場景:從
IDashboardRepository
這個問題存在試圖宣佈Dashboard
正如我所描述的。IDashboardRepository
位於同一個項目中,但位於不同的名稱空間中:Alliance.Dashboard.Data.Client.Interfaces
。但是,反向工作正常。換句話說,我可以使用接口名稱空間作爲Dashboard
內的使用語句,但不能在界面中使用Dashboard
而不使用完全限定名稱。
僅供參考,這裏是我的Dashboard
類的代碼:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Alliance.Dashboard.Data.Client.Models
{
public class Dashboard
{
public System.Guid DashboardID { get; set; }
public string DashboardName { get; set; }
public byte[] Instance { get; set; }
public bool IsDeleted { get; set; }
public byte[] Concurrency { get; set; }
}
}
「那麼我不能使用類型儀表板」 - 當您嘗試時,您收到的編譯器錯誤是什麼? – Blorgbeard
更重要的是,你能想出一個可重複使用的簡單例子嗎? – dcastro
在當前命名空間或其他使用導入中,是否有另一個類或其他稱爲「Dashboard」的其他類?如果模糊不清,則必須明確聲明要使用哪一個。另一種方式是在別名中使用別名。 – TyCobb