0
今天我試圖聲明一個靜態變量EmployeeMaxAge
的靜態成員如下面的代碼:爲什麼const成員語法的行爲就像一個類
namespace NewApplication
{
public class CommonConstants
{
public const int EmployeeMaxHeightInCm = 160;
public static int EmployeeMaxAge = 50; //new static member
}
}
當我試着在我的主要方法,使用它作爲CommonConstants.EmployeeMaxAge
我可能會突然發現intellisense也在智能感知下拉列表中顯示EmployeeMaxHeightInCm
(它沒有靜態修飾符)。所以我在代碼中編寫了CommonConstants.EmployeeMaxHeightInCm
,並且看到它正在編譯併成功運行。我一直知道ClassName.MemberName
語法只適用於類的靜態成員,但同樣的語法也適用於const成員。有人能幫我理解C#語言的這種行爲嗎?
該語法對'const'成員也是有效的。你爲什麼不這樣想?你有一個源代碼說類型標識符只有靜態成員可用嗎? –
還要注意,你已經放置了'// new constant'的成員聲明實際上並不是一個常量,而是一個具有初始化器的靜態可變字段。請確保我們在這裏討論相同的事情。 –
@ LasseV.Karlsen。真正。我修改了我的問題。我沒有添加一個const,而是一個公共靜態成員。 – RBT