使用CommunityToolkit.MVVM的[ObservableProperty]能否指定自动生成属性名?
如何给[ObservableProperty]标记的私有字段指定自定义生成属性名
当然可以,不用修改私有字段名,就能让工具包生成你想要的属性名称。只需要在[ObservableProperty]特性里加上Name参数,设置你要的属性名就行。
举个实际代码例子:
using CommunityToolkit.Mvvm.ComponentModel; public class UserViewModel : ObservableObject { // 私有字段还是address,但生成的属性会叫HomeAddress [ObservableProperty(Name = "HomeAddress")] private string address; }
这么写之后,工具包会自动生成名为HomeAddress的公共属性,对应的属性变更方法OnHomeAddressChanged和变更事件HomeAddressChanged也会统一使用这个自定义名称。
注意:这个功能需要用到.NET Community Toolkit Mvvm 8.0及以上版本的包,确认你的项目引用的是符合要求的版本。
内容的提问来源于stack exchange,提问作者blueshift
相关产品推荐
相关产品推荐

