使用这段代码:
我遇到了这个错误:
自动实现属性 'Foo.Item1' 的后备字段在控制返回给调用者之前必须完全分配。请考虑从构造函数初始化程序中调用默认构造函数。
我的问题是,为什么在调用构造函数后属性
编辑:将
struct Foo<T1>
{
public T1 Item1 { get; private set; }
public Foo(T1 item1)
{
Item1 = item1;
}
}
我遇到了这个错误:
自动实现属性 'Foo.Item1' 的后备字段在控制返回给调用者之前必须完全分配。请考虑从构造函数初始化程序中调用默认构造函数。
我的问题是,为什么在调用构造函数后属性
Item1
没有被完全分配?编辑:将
set
更改为private set
,因为这个问题与可变性无关。