简体   繁体   English

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

[英]How add virtual property to sealed class

I wrote a class in c# which inherits TextBox and now I want to add a virtual property to it: 我在c#中编写了一个继承TextBox的类,现在我想为它添加一个虚拟属性:

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

but this error occurred: 但是发生了这个错误:

Error 1 'xXx.TextBoxPlus.WaterMark.get' is a new virtual member in sealed class 'xXx.TextBoxPlus' 错误1'xXx.TextBoxPlus.WaterMark.get'是密封类'xXx.TextBoxPlus'中的新虚拟成员

You have declared TextBoxPlus as a sealed class, so it can't be subclassed. 您已将TextBoxPlus声明为sealed类,因此无法将其子类化。 Therefore, the virtual specifier is unnecessary because it will never be overridden. 因此, virtual说明符是不必要的,因为它永远不会被覆盖。

Just remove the virtual and you should be fine. 只需删除virtual ,你应该没事。 (Or remove the sealed from the class definition if you intend to subclass it later.) (或者如果您打算稍后将其子类化,则从类定义中删除sealed 。)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM