const
으로 표시된 상수는 컴파일 타임에 컴파일러로 대체 될 수 없습니다.
그러나 고정 값에 할당 된 일반 정적 필드는 다음과 같이 할 수 있습니다. 난 그냥 지금 같은 경우 했어 : 난 그냥 대신 파생 클래스에서 MaxFactCell
필드를 재정의하는 경우
class Columns
{
public static int MaxFactCell = 7;
};
class Columns2 : Columns
{
static Columns2()
{
MaxFactCell = 13;
}
};
은 다형성은 작동하지 않을 것입니다 : 코드가 최우선 가치를하지 않을 Columns2
Columns
로를 사용하여.
필드에 대한 쓰기 (읽기가 아닌) 액세스를 제한해야하는 경우 readonly
을 사용하면 Columns2
에 다시 정의 할 수 없습니다. 이 속성 대신, 즉 약간 더 코드의 확인 :
class Columns
{
static Columns()
{
MaxFactCell = 7;
}
public static int MaxFactCell {get; protected set;};
};
class Columns2 : Columns
{
static Columns2()
{
MaxFactCell = 13;
}
};
이 하나는 좋은 일이 될 것입니다 :) – nayanajith