本博客文章介绍了发电锅炉板MVVM的代码使用codesnippet自动化的新方法。您只需添加到您的视图模型类的属性,并为您生成的代码!
模型视图ViewModel(MVVM)已经成为事实上为Silverlight,WPF和WP7的应用模式,提供的代码,很容易测试和夫妇干净,以通过绑定的看法。然而,MVVM的一个小问题是,它依赖了INotifyPropertyChanged(INPC)接口,这带来的锅炉板代码。
本博客文章描述了一个技术实施INPC容易,因为这将属性添加到您的视图模型:[SnippetINotifyPropertyChanged]
[SnippetPropertyINPC(field = "_surname", type = "string", property = "Surname")]
[SnippetPropertyINPC(field = "_forename", type = "string", property = "Forename")]
public partial class PersonViewModel : INotifyPropertyChanged
{
}
有数以百计的博客文章描述的解决方案实施INPC包括这样一个简单的选择问题如果他们愿意的话。
有几个问题与codesnippets,首先他们是不是重构友好,其次他们不降低锅炉板代码,他们只是提供更迅速地将此代码添加一个方法!
昨天,我在CodeProject上发表文章,其中,您使用codesnippet表明通过一个属性声明在部分类生成的结果代码。在这里,我会来说明它可用于简化创建ViewModels和拆除锅炉板代码的结果。
使用这种技术的第一步,添加CODEGEN文件夹到您的项目。此文件夹包含了一个T4模板(Visual Studio的内置代码生成框架):
{S0}
与这些模板添加到您的项目,如果您添加了codesnippet项目(即。片段文件),T4模板运行时,将产生一个相应的属性。你可以看到在上面的截图的几个片段都被添加和属性产生。
T4模板运行时,项目建成后,或可按需运行,通过点击下面的按钮:
因此,让我们在产生我们认为模型代码去??/ P>
我们将创建一个简单的人视图模型,其中有姓,名字及一个依赖的FullName属性连接在一起的属性。首先,我们将通过自动化的片段加入我们班INPC实施:{C}