我几乎完成了为.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
方法,因此您还必须使重写方法公开。