条件类属性?

时间:2012-01-12 03:09:52

标签: c# class

我正在尝试为其中一个属性创建一个内置条件的类。由于我是OOP的新手,我想问一下应该采用哪种技术以及如何实现它们。

假设我有一个班级:

public class Item
{
    private string itemName;
    public string ItemName
    {
        get { return itemName; }
        set { itemName = value; }
    }

    private bool isPerishable;
    public bool IsPerishable
    {
        get { return isPerishable; }
        set { isPerishable = value; }
    }

    private DateTime expiryDate;
    public DateTime ExpiryDate
    {
        get { return expiryDate; }
        set { expiryDate = value; }
    }
}

我只想让类内置逻辑(可能是方法或其他东西),如果isPerishable为true,那么它会要求一个到期日期。逻辑是否可以在主程序之外调用(在类本身内)?请发布一个如何实现这一目标的例子。

1 个答案:

答案 0 :(得分:2)

private bool isPerishable;
public bool IsPerishable
{
    get { return isPerishable; }
    set
    {
      isPerishable = value;
      if(value && expiryDate == default(DateTime))
      {
        Console.Write("Enter an expiry date: ");
        expiryDate = Date.Parse(Console.ReadLine());
      }          
    }
}