0
我想創建一個具有在派生類中不同的訪問修飾符,像財產的接口界面:如何實現不同的訪問修飾符,當我實現
public interface IPrisoner
{
string PrisonerName { get; set; }
}
public class Prisoner : IPrisoner
{
public string PrisonerName { get; private set; }
}
但在這種情況下,我得到一個錯誤:
'Prisoner' does not implement interface member 'IPrisoner.PrisonerName.set'. 'Prisoner.PrisonerName.set' is not public.
如何實現的呢?
您可以更改接口以僅暴露'get'。但是,界面中的任何內容默認爲「public」。 – juharr
你不能。界面說它必須是公開的,所以它必須是公開的。否則,如果有人「囚犯犯人=新囚犯()」,你會發生什麼? prisoner.PrisonerName =「Foo」;'? –
你不能。該界面需要獲取和設置。唯一的選擇是顯式接口實現該屬性。 –