该属性为protected
这意味着您只能从类内部或其中一个继承中访问它。
public class ActivationCode{
public virtual int LoginAccountId { get; set; }
protected virtual string ActivatedCode { get; set; }
protected virtual DateTime ActivationDate { get; set; }
public void Foo(){
var x = this.ActivatedCode; // Valid
}
}
public class Foo{
new ActivationCode().ActivatedCode //Invalid access
}
你可以改变从protected
到public
的属性,就像与LoginAccountId
。
阅读MSDN文章关于protected
:
的保护关键字是一个成员访问修饰符。受保护的成员可以从声明该类的类中进行访问,也可以从派生于声明该成员的类的任何类中进行访问。
只有在通过派生类类型进行访问时,才能在派生类中访问基类的受保护成员。例如,请考虑下面的代码段:
更新:
的ActivationCode
类应该是这样的:
public class ActivationCode
{
public virtual int LoginAccountId { get; set; }
public virtual string ActivatedCode { get; set; }
public virtual DateTime ActivationDate { get; set; }
}
那么我怎么能让他们访问?你能告诉我吗? – priya77 2012-04-18 06:58:41
@ priya77。我做了,从'protected'改为'public' – gdoron 2012-04-18 06:59:17
@ priya77。我添加了完整的代码,你现在明白了吗? – gdoron 2012-04-18 07:02:33