如何实现在子类中const field
哪些必须覆盖,我正在使用.net 4, C#
因为我有许多类all have a const field
(具有不同的值)称为'pName'.
所以我想使用接口或抽象类或somthing作为父级并强制这些类覆盖它.
这是CONST
领域
你不能override
一个const
; 也可以将它声明为static
和override
它在那里.您可以做的是重新声明它,但这并不健壮 - 因为使用哪个版本取决于您要求的(完全在编译时 - 与多态完全无关):
public new const int Foo = 12;
Run Code Online (Sandbox Code Playgroud)
我建议你使用virtual
或abstract
属性:
public virtual int Foo { get { return 4; } } // subclasses *can* override
public abstract int Foo { get; } // subclasses *must* override
Run Code Online (Sandbox Code Playgroud)
并且override
:
public override int Foo { get { return 12; } }
Run Code Online (Sandbox Code Playgroud)