2012-08-09 57 views
0

我幾乎完成了用於.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; 

的錯誤是但是,如果我刪除的關鍵詞,覆蓋,它提出了一個警告消息「的ToString」隱藏着一個父類的方法。」 TColorObj類不是從任何基類繼承,你可以看到。

這樣,我使課堂TColorObj公衆?

任何幫助或提示將不勝感激。

+2

錯誤似乎表明您應該公開ToString方法。 – 2012-08-09 13:10:50

回答

4

您需要在能見度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; 
+0

肯懷特,它是固定的。謝謝。 – ThN 2012-08-09 13:17:40

1

如果您沒有指定從Object類繼承的類,則每個類都從另一個類繼承。

您正在研究公開的ToString方法,因此您必須公開重寫方法。