我已经了解了如何在ASP.NET 3.5中声明C#中的属性
public DateTime DisplayDate
{
get;
}
而不是
private DateTime _displayDate
public DateTime DisplayDate
{
get {return _displayDate;}
}
我的问题是,在课堂上,我如何访问私有变量?
例如,而不是这个
public MyClass(DateTime myDisplayDate)
{ _displayDate = myDisplayDate; }
我应该分配什么? 是公共财产吗?
public MyClass(DateTime myDisplayDate)
{ DisplayDate = myDisplayDate; }
这是正确的吗?
答案 0 :(得分:3)
public DateTime DisplayDate
{
get; private set;
}
public MyClass(DateTime myDisplayDate)
{
this.DisplayDate = myDisplayDate;
}
答案 1 :(得分:1)
这样的自动属性(不限于ASP.NET)就在那里,所以你不必处理私有字段。如果要设置属性的值,请使用属性本身并添加私有setter(因此只有您的类可以设置它)
public DateTime DisplayDate
{
get;
private set;
}
答案 2 :(得分:0)
您总是需要使用c#3.0自动属性声明getter和setter - 请参阅其他答案 - 诀窍是将setter标记为private。
public Foo { get; private set; }