该属性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
:
protected关键字是成员访问修饰符。受保护的成员可以从声明它的类中访问,也可以从从声明该成员的类派生的任何类中访问。
仅当通过派生类类型进行访问时,才能在派生类中访问基类的受保护成员。例如,考虑以下代码段:
更新:
该类ActivationCode
应如下所示:
public class ActivationCode
{
public virtual int LoginAccountId { get; set; }
public virtual string ActivatedCode { get; set; }
public virtual DateTime ActivationDate { get; set; }
}