Tag: t4

通过T4代码生成自动INotifyPropertyChanged实现?

我正在设置我的新项目,并且想知道如何实现我的ViewModel类确实具有INotifyPropertyChanged支持,而不必亲自手动编码所有属性。 我查看了AOP框架,但我认为他们只会用另一个依赖项炸毁我的项目。 所以我考虑用T4生成属性实现。 设置是这样的:我有一个ViewModel类,它只声明了它的Properties背景变量,然后我使用T4从它生成Property Implementations。 例如,这将是我的ViewModel: public partial class ViewModel { private string p_SomeProperty; } 然后T4将遍历源文件并查找名为“p_”的成员声明并生成如下文件: public partial class ViewModel { public string SomeProperty { get { return p_SomeProperty; } set { p_SomeProperty= value; NotifyPropertyChanged(“SomeProperty”); } } } 这种方法有一些优点,但我不确定它是否真的有效。 所以我想在StackOverflow上发布我的想法作为一个问题,以获得一些反馈,也许一些建议如何更好/更容易/更安全。