2. 用非公共的可访问性添加属性存取器
前面说过,如果实现带属性的接口,就必须实现匹配的get/set存取器。这并不是绝对正确的——如果在定义属性的接口中只包含set块,就可给类中的属性添加get块,反之亦然。但是,只有所添加的存取器的可访问修饰符比接口中定义的存取器的可访问修饰符更严格时,才能这么做。因为按照定义,接口定义的存取器是公共的,也就是说,只能添加非公共的存取器。例如:
public interface IMyInterface { int MyIntProperty { get; } } public class MyBaseClass : IMyInterface { public int MyIntProperty{ get; protected set; } }