大家都知道,不应该把数据字段直接暴露给用户,而应该为它加上一个Property:
你不应该写成这样:
public class SomeClass
{
public int SomeValue;
}
而应该写成:
public class SomeClass
{
private int someValue;
public int SomeValue
{
get
{
return someValue;
}
set
{
someValue = value;
}
}
}
然而,当字段数量很多的时候,为所有的字段一个个加上Property,真是非常烦人的事情。一个学java的朋友曾经以此向我炫耀:IntelliJ可以自动生成get set方法。
好在现在vs.net 2005也已经可以完成这个功能了。
这个功能有两种实现的方法,下面分别介绍一下。
第一种是直接使用code generation,在代码中输入prop,如图:
然而按Tab键,就会自动生成Property的框架,如图:
最后,你可以修改Property的名字和类型。
你也可以输入propg,然后按Tab键,这样产生的Property框架,将只包含get方法。
第二种方法是使用Refactor的功能,将光标停留在某个字段上,点击鼠标右键,选择Refactor中的Encapsulate Field...选项,然后填入Property的名字就可以了。