不能覆盖访问量低于基方法的方法



我几乎完成了为.NET环境迁移软件的工作。现在我正在浏览所有警告并清理它们。然后,我遇到了这个问题。

这是我的班级:

 TColorObj = class
   value:double;
   thecolor:Color;
   Constructor;
   method ReadColor(bdr:BinaryReader);
   method WriteColor(bdw:BinaryWriter);
   method Clone:TColorObj;
   method ToString:String; Override;  <<<<----this method is raising error.
 end;

错误是"无法覆盖访问量低于基本方法的方法"。但是,如果我删除关键字 Override,它会引发一条警告消息,"ToString"隐藏父方法。如您所见,类不是从任何基类继承的。

那么,我是否公开了课程?

任何帮助或提示将不胜感激。

您需要

使ToString方法在可见性中公开,这就是它在TObject中的内容。您不能将其从"公共"移动到子体中的较低可见性。

TColorObj = class
   value:double;
   thecolor:Color;
   Constructor;
   method ReadColor(bdr:BinaryReader);
   method WriteColor(bdw:BinaryWriter);
public
   method Clone:TColorObj;
   method ToString:String; Override;  <<<<----this method is raising error.
end;

如果未指定从Object类继承的类,则每个类都继承自另一个类。

您正在过度冲洗公共的ToString方法,因此您还必须使重写方法公开。

相关内容

  • 没有找到相关文章

最新更新