[英]Why does C# requires either no namespaces or full namespaces (fully qualified name)?
[英]Why does fully qualified C# import fail?
在我的主要方法中,我有一行代碼 -
WebRequest reqObj = WebRequest.Create(CompleteDPath + FileName);
我添加了一個import - System.Net.WebRequest
。 這會導致錯誤:
找不到類型或命名空間名稱'YourProject'(您是否缺少using指令或程序集引用?)。
當我將導入更改為System.Net
時,錯誤消失了為什么會發生這種情況?
實際上,我在SSIS的C#腳本任務中使用此代碼,這是一個ETL工具。 我提到,如果您無法在普通的視覺工作室中復制問題,並希望將SSIS聲明為問題的根源。
using指令有兩個用途:
- 允許在命名空間中使用類型,以便您不必限定在該命名空間中使用類型:
using System.Text;
- 為命名空間或類型創建別名。 這稱為使用別名指令。
using Project = PC.MyCompany.Project;
您無法導入類型,您必須導入整個命名空間,這就是為什么using System.New.WebRequest
不起作用,並且您的代碼無法編譯。
您可以為WebRequest
創建別名,以防止導入整個命名空間,但我個人不喜歡該解決方案:
using WebRequest = System.Net.WebRequest;
是的,錯誤可能更具描述性,但這就是問題所在。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.