Powerdesigner15发布后,满以为它能支持C#3.5,但是结果令人失望,奇怪的是它居然增加了对Sql2008的支持。真不愧是老牌数据库建模工具;
闲话少说,言归正传。从C#3.0开始,微软C#编译器提供了一个叫做“自动属性(Automatic Properties)”的语言特性。一直以来我们为类添加属性的时候,都是这样做的:
2public int UserID
3{
4 get{return _userid;}
5 set{_userid=value;}
6}
我们可以注意到,在这里属性访问器中并没有什么逻辑,我们仅仅使用了一个成员变量来中转,这样这个成员变量就显得有些累赘。现在,“自动属性”为我们提供了更简洁优雅的写法,例如上面的代码可以写成这样:
public int UserID
{
get;
set;
}
编译器会自动为你创建一个私有变量,当然,该变量只能通过属性的 get 和 set 访问器进行访问。
为了使Powerdesigner15在生产类代码的时候,也能按照“自动属性”的方式,生成类属性代码,我们可以通过修改或添加“Object Language”模板来解决。
打开Powerdesigner15,选择菜单“Tools->Resources-> Object Languages”,会弹出“Object Language”对话框(如下图)
对话框中列出了PD所支持的语言的模板名称,我们可以通过双击“C#2.0”名称,或者点击左上角的“Properties”图标,打开C#2.0模板进行修改,但是为了不破坏原来的模板,我这里打算新建一个“Object Language”,点击左上角第二个图标“New”,弹出“New Object Language”对话框(如下图)
我们可以在Name输入框中输入Object Language的名称,如mC#,在Copy from选择框中选择C#2.0,这样你创建的新语言模板就完全从C#2.0模板拷贝过来了。点击OK,在随后弹出的保存对话框中电击保存,在“List of Object Language”列表中就会出现我们输入的名称(如果下图)
并且同时会弹出“Object Language Properties”对话框(如下图)
在这里,我们就可以修改出我们需要的模板了。
在下一篇里,将详细介绍模板的修改过程和如何使用新模板。