在c#中使用密封的字符串属性

thi*_*-Me 4 c# .net-2.0

我在c#写一堂课.

我偶然发现了代码重构提供的这条建议.我没有

在提供此建议/改进时,获得该工具的确切含义.

情况:

我使用this.Text属性在我的Form类的构造函数中设置标题.

Form()
{
   //some initialization code ...

   //...

   this.Text = "Non modal form";           //Suggestion offered here..
}
Run Code Online (Sandbox Code Playgroud)

代码重构工具提示警告:说访问虚拟成员

要更正此问题,工具会自动添加属性

  public override sealed string Text
   {
        get { return base.Text; }
        set { base.Text = value; }
   } 
Run Code Online (Sandbox Code Playgroud)

任何人都可以解释我如何,添加密封属性将影响/改善情况.

干杯

Chr*_*ken 5

您正在构造函数中调用虚拟成员.如果继承了类并且调用了该属性,那么您的代码将无法运行.使其密封可防止这种情况,因为它无法在子类中被覆盖.这不应该影响这个特定示例中的任何内容.