一、用非公共的可访问性添加属性访问器
概念:如果定义的属性的接口中只包含set块,就可以给类中的属性添加get块。反之亦然,但是,只有所添加的访问器的可访问修饰符比接口定义的访问器的可访问修饰符更严格时,才能这么做。因为按照定义,接口定义的访问器是公共的,也就是说,只能添加非公共的访问器。
例子:
public interface IMyInterface
{
int MyIntProperty
{
get;
}
}
public class MyBaseClass : IMyInterface
{
protected int myInt;
public int MyIntProperty
{
get { public interface IMyInterface
{
int MyIntProperty
{
get;
}
}
public class MyBaseClass : IMyInterface
{
protected int myInt;
public int MyIntProperty
{
get {
return myInt;
}
//书上这里是protect set,但我更改为set后,测试了一下,代码也运行正常,不知道这里怎么理解的。。。
set {
myInt = value;
}
}
}
return myInt;
}
set {
myInt = value;
}
}
}