引用类的属性在内部赋值期间未显示
本文关键字:显示 赋值 在内部 属性 引用 | 更新日期: 2023-09-27 17:59:28
我有下面的ItemCountAmount.cs
类。
public class ItemCountAmount
{
public int Count { get; set; }
public string Amount { get; set; }
}
我在下面的ChartData.cs
类中引用它:
public class ChartData
{
public ChartData()
{
Purchase = Stocks = Sales = new ItemCountAmount();
}
public string period { get; set; }
public ItemCountAmount Purchase { get; set; }
public ItemCountAmount Stocks { get; set; }
public ItemCountAmount Sales { get; set; }
}
现在,当我尝试为ChartData
属性分配值时,它无法识别或可用。编译时异常将发生在VS.中
var model = new ChartData
{
period = yearMonth,
Purchase.Count = await purchase.CountAsync(x => x.order_date.Month == mnth && x.order_date.Year == yr),
}
但是Purchase.Count
或Purchase.Amount
在这里没有被识别,如果我尝试将其作为
var model=new ChartData();
model.Purchase.Count = .....;
model.Purchase.Amount = .....;
.......
它工作良好,我的意思是,属性Count
和Amount
被识别。我仍然不明白为什么第一个方法不能从ChartData
中引用的ItemCountAmount.cs
类中识别属性。有什么具体原因吗?
我不相信C#对象初始化程序支持这种语法,但是,您可以这样做。我不确定这是否会导致Purchase
的两个构造和赋值,不过,你可以自己打破这个点,看看。
var model = new ChartData
{
Purchase = new ItemCountAmount
{
count = await purchase.CountAsync(x => x.order_date.Month == mnth && x.order_date.Year == yr)
}
}