我正在用C#编写getter setter,我可以使用样式或语法编写,他们是否有任何特定场景何时使用它们?封装是从两者中实现的?Getter setter差异
实施例1:
public List<ChatMessage> MessageListWithoutPrivateVariable { get; set; }
实施例2:
public List<ChatMessage> MessageList {
set {
messageCollection = value;
} get {
return messageCollection;
}
}
第二个与第一个隐含地实现的相同;所以没有理由使用其中一个。另一方面,如果get/setter中有更有趣的事情发生,那么差异,原因和好处是显而易见的。 – ChiefTwoPencils
这两者之间的唯一区别在于,在方法本身内部使用get或set方法之前,实际上可以在第二个方法中执行一些检查。 –
可能的重复 - http://stackoverflow.com/questions/8116951/any-reason-to-use-auto-implemented-properties-over-manual-implemented-properties – RBT