虽然不知道lz这样设计的目的是什么,不过常量本来就和实例没关系,用类名.常量名来访问的。class C { public const string T = "C"; }class A : C { public const string T = "A"; }class B : A { public const string T = "B"; }Console.WriteLine(A.T); // A Console.WriteLine(B.T); // B Console.WriteLine(C.T); // C
class Age { readonly int _year; Age(int year) { _year = year; } void ChangeYear() { _year = 1967; // Will not compile. } }readonly定义常量字段,可以在声明或构造函数中初始化
只static可以
{
public const string T = "C";
}class A : C
{
public const string T = "A";
}class B : A
{
public const string T = "B";
}Console.WriteLine(A.T); // A
Console.WriteLine(B.T); // B
Console.WriteLine(C.T); // C
class Age
{
readonly int _year;
Age(int year)
{
_year = year;
}
void ChangeYear()
{
_year = 1967; // Will not compile.
}
}readonly定义常量字段,可以在声明或构造函数中初始化