我正在用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