c# - 如何解决字段 'XXX' 从未分配给,并且始终具有其默认值?
问题描述
public class Product : BaseEntity
{
public string ProductTitle { get; set; }
public string ProductDescription { get; set; }
private readonly DateTime _dateTime;
public DateTime ProductExpirationDate
{
get { return _dateTime; }
set
{
if (DateTime.Now >= _dateTime)
{
Console.WriteLine("Product past the expiration date!");
}
}
}
}
/******************/
class Program
{
static void Main(string[] args)
{
Product product = new Product
{
Id = 1,
ProductTitle = "Milk",
ProductDescription = "Description of milk",
ProductExpirationDate = Convert.ToDateTime("08/09/2011 04:05:02")
};
Console.WriteLine(product.Id);
Console.WriteLine(product.ProductTitle);
Console.WriteLine(product.ProductDescription);
Console.WriteLine(product.AddDate);
Console.WriteLine(product.ProductExpirationDate);
}
}
除了“ProductExpirationDate”之外,一切都很好。我正在练习 OOP。但是我在 Program.cs 中给出的值不会发送到 Product.cs。它说“字段'Product.dateTime'从未分配给,并且将始终具有其默认值”
解决方案
在ProductExpirationDate
属性中,您没有分配任何值。你应该这样分配它:
set
{
if (DateTime.Now >= _dateTime)
{
Console.WriteLine("Product past the expiration date!");
}
_dateTime = value;
}
推荐阅读
- angular - 错误类型错误:当我尝试按 ID 获取用户时,无法读取未定义的属性“id”
- git - 如何使用 CURL 将文件夹上传到 github 存储库
- javascript - 如何识别未按路径找到的页面并按路径重定向到登录页面
- ruby - 如何在不更改其初始值的情况下使用 Array?
- java - 修复实时数据库的firebase问题
- java - Selenium 点击一个复选框 -React :: before
- jquery - 选择具有共同类但也具有不同类的元素
- c# - 如何在winform中删除TableLayoutPanel单元格中的边框?
- c# - ScriptTask 在同一个项目中调用一个包
- laravel - 获取模型上的属性而不是全局数据。Laravel