1. 属性或索引器的get和set部分称为“访问器”。默认情况下,这些访问器具有相同的可见性或访问级别(其所属属性或索引器的可见性或访问级别)。
2. 有时候需要限制对其中某个访问器的访问会很有用。比如需要可以任何访问get,但set需要限制,只对继承子类开放访问。
string str=””;
public string TestProp
{
get{return str;}
protected set{str=value;}
}
public string TestProp
{
get{return str;}
protected set{str=value;}
}
3. 不能对接口或显式接口成员实现使用访问器修饰符。
4. 仅当属性或索引器同时具有set和get访问器时,才能使用访问器修饰符,这种情况下,只允许对其中一个访问器使用修饰符。
5. 访问器的可访问性级别必须比属性或索引器本身的可访问性级别具有更严格的限制。
6. 如果属性或索引器具有override修饰符,则访问器修饰符必须与重写的访问器的访问器(如果有的话)匹配。
public class Parent
{
public virtual int TestProperty
{
protected set { }
get { return 0; }
}
}
public class Kid : Parent
{
public override int TestProperty
{
protected set { }//必须匹配
get { return 0; }//必须匹配
}
}
{
public virtual int TestProperty
{
protected set { }
get { return 0; }
}
}
public class Kid : Parent
{
public override int TestProperty
{
protected set { }//必须匹配
get { return 0; }//必须匹配
}
}