这两种类型的特性定义之间的区别是什么
本文关键字:之间 区别 是什么 定义 两种 类型 | 更新日期: 2023-09-27 18:20:28
这两种类型的property
定义之间有什么区别?
第一个
public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
第二次
public class Person
{
private string firstName;
private string lastName;
public string FirstName
{
get { return this.firstName; }
set { this.firstName = value;}
}
public string LastName
{
get { return this.lastName; }
set { this.lastName = value;}
}
}
第二个解决方案与第一个解决方案相同,只是扩展性更强。
public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
这是创建公共值的默认方式,但是,如果您希望在设置或获取值时执行任何操作,请使用第二个解决方案,该解决方案与第一个解决方案相同,但经过了扩展。
例如,如果你只想让名字小写,你可以使用以下代码:
public class Person
{
private string firstName;
private string lastName;
public string FirstName
{
get { return this.firstName; }
set { this.firstName = value.ToLower();}
}
public string LastName
{
get { return this.lastName; }
set { this.lastName = value.ToLower();}
}
}
在某些情况下,在设置和检索值之前,您可能需要添加一些额外的逻辑,在这种情况下,您提到的第二种方法将有助于
比如,如果你想检查长度或分配一些会话值等set
{
ViewState["SomeStr"] = value;
}