我正在閱讀一個關於StackOverflow here上不純方法的問題,它讓我思考了結構設計的最佳實踐。應該C#結構只有只讀屬性
讀取有關創建不可變結構的示例here屬性僅限於獲取者。
public DateTime Start { get { return start; } }
public DateTime End { get { return end; } }
public bool HasValue { get { return hasValue; } }
其他地方的例子包括System.Drawing.Point
這些屬性有getter和setter。
public int Y {
get {
return y;
}
set {
y = value;
}
}
design guidelines沒有指定,但它們非常簡潔。結構屬性的推薦方法是什麼?只讀或允許寫入?
設計指南* do *指定:「不定義可變值類型」。對我來說似乎很清楚。 –
閱讀您鏈接的指南的第二點。這非常簡單。 – Servy
參見http://stackoverflow.com/questions/441309/why-are-mutable-structs-evil?rq=1 –