gpt4 book ai didi

c# - 在类里面,您是将值分配给属性还是支持字段

转载 作者:行者123 更新时间:2023-11-30 19:17:05 25 4
gpt4 key购买 nike

假设我在一个类中有以下内容(扩展了 MVVMLight 的 ViewModelBase):

private ObservableCollection<Merchant> merchants;

public ObservableCollection<Merchant> Merchants
{
get { return merchants; }
set { Set(nameof(Merchants), ref merchants, value); }
}

在我的类中,我应该初始化属性值还是支持字段?在我的类的方法中,我应该使用属性还是支持字段?

我只是在学习,我倾向于同时使用两者,我看不出有什么区别。

简单地说:在类内部,我应该使用属性还是它的支持字段?

最佳答案

这真的取决于你想做什么。

当您的属性引发 PropertyChanged 时,最好使用属性 setter 而不是支持字段,即使是在您的类中也是如此,这样消费者就会收到更改值的通知。

不过有一个异常(exception):在你的构造函数中,你会使用支持字段,因为那时没有消费者可能已经订阅了 PropertyChanged 事件,所以从构造函数引发事件是没必要。

如果你的 setter 中有其他逻辑 - 比如验证 - 你总是应该使用属性 setter 而不是支持字段。

关于c# - 在类里面,您是将值分配给属性还是支持字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19397940/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com