条件类属性

本文关键字:属性 条件 | 更新日期: 2023-09-27 18:20:00

我正在尝试创建一个类,该类的一个属性具有内置条件。由于我是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为真,那么它会要求一个到期日期。逻辑是否可以在主程序之外(在类本身内部)调用?请贴出一个如何实现这一目标的例子。

条件类属性

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());
      }          
    }
}