如何将 virtual 属性 添加到 sealed class

How add virtual property to sealed class

我用 c# 写了一个 class 继承了 TextBox 现在我想给它添加一个虚拟的 属性:

    public virtual Color WatermarkColor
    {
        private get { return _watermarkColor; }
        set
        {
            _watermarkColor = value;
            OnEnter(null);
            OnLeave(null);
        }
    }

但是出现了这个错误:

Error 1 'xXx.TextBoxPlus.WaterMark.get' is a new virtual member in sealed class 'xXx.TextBoxPlus'

您已将 TextBoxPlus 声明为 sealed class,因此无法对其进行子class。因此,virtual 说明符是不必要的,因为它永远不会被覆盖。

只需删除 virtual 即可。 (或者,如果您打算稍后将 class 子class,则从 class 定义中删除 sealed。)