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