我在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
。我仍然没有理解为什么第一种方法无法识别ItemCountAmount.cs
中引用的ChartData
类的属性。有什么具体原因吗?
答案 0 :(得分:1)
我不相信C#对象初始化程序支持该语法,但是,您可以这样做。我不确定这是否会导致Purchase
的两个结构和分配,但你可以自己打破并看到它。
var model = new ChartData
{
Purchase = new ItemCountAmount
{
count = await purchase.CountAsync(x => x.order_date.Month == mnth && x.order_date.Year == yr)
}
}