如何将虚拟属性添加到密封类

时间:2015-07-25 16:36:25

标签: c# inheritance properties virtual sealed

我在c#中编写了一个继承TextBox的类,现在我想为它添加一个虚拟属性:

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

但发生了这个错误:

  

错误1'xxX.TextBoxPlus.WaterMark.get'是密封类'xXx.TextBoxPlus'中的新虚拟成员

1 个答案:

答案 0 :(得分:3)

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

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