我已經開始學習 C#/.NET/VisualStudio (2022) 并且遇到了這個奇怪的問題;System 中的所有方法/類及其嵌套的命名空間似乎都可以在沒有完整路徑或開始時使用指令的情況下使用。
例如,以下示例編譯得很好:
// Program.cs
namespace MyApp
{
internal class Program
{
static void Main()
{
Console.WriteLine("Hello World!"); //System.Console
}
static HttpClient client = new HttpClient(); //System.Net.Http.HttpClient
}
}
為什么會發生這種情況,我可以以某種方式禁用此行為嗎?
uj5u.com熱心網友回復:
如果您使用的是 .NET 6,這可能來自一個名為“隱式使用”的新功能。根據您的專案型別,會自動包含某些命名空間。例如,默認控制臺應用程式模板隱含包括以下命名空間:
- 系統;
- 系統.IO;
- System.Collections.Generic;
- 系統.Linq;
- System.Net.Http;
- 系統.執行緒;
- System.Threading.Tasks;
您可以通過在專案檔案中包含以下內容來禁用此功能:
<PropertyGroup>
<ImplicitUsings>disable</ImplicitUsings>
</PropertyGroup>
此 Microsoft 檔案中有關于此功能和“全域使用”的更多檔案。
uj5u.com熱心網友回復:
您正在使用隱式全域 usings。更改.csproj檔案中的行
<ImplicitUsings>enable</ImplicitUsings>
到
<ImplicitUsings>disable</ImplicitUsings>
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/452575.html
上一篇:設定RowDefinitionHeight時,Grid內的按鈕不可點擊
下一篇:整數乘法表現奇怪
