使用正确的属性类型

时间:2015-04-08 09:51:06

标签: c# properties

我目前正在创建一个程序,要求我使用一些属性。但是我觉得我目前使用的属性可能不是最好的。

这些是我目前使用的属性:

// Returns the product name.
public string ProductName { get; set; }            

// Returns and sets the latest price. 
public decimal LatestPrice { get; set; }

// Returns the quantity
public int Quantity { get; set; }

// returns the total price of all the order items. (latest price * quantity)
public decimal TotalOrder { get; set; }

我感觉好像只返回一些东西的属性,例如ProductName属性应使用不包含set;

的编码属性

或者,如果我将它们设置为private set会发生什么?这会有用吗?

我可以使用这些属性还是应该编码?

我实际上并没有得到任何错误代码,只是认为可能有比我目前更好的方式。

1 个答案:

答案 0 :(得分:-2)

如果属性只返回某些内容,则可以像设置的那样将set accessor设为私有。

但是,它无法通过属性设置数量和价格。你需要在construtor中传递它。

对于TotalOrder,您应该实现get访问器以使其与更新的LatestPrice和Quantity对齐。

class Book
{
     public Book(decimal price, int number)
     {
         LatestPrice  = price;
         Quantity  = number;
     }
    public decimal LatestPrice { get; private set; }
    public int Quantity { get; private set; }
    public decimal TotalOrder { get{ return LatestPrice * Quantity;} private set{}}
}