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”;'? –
你不能。该界面需要获取和设置。唯一的选择是显式接口实现该属性。 –