编译器错误 CS0843
在控制返回到调用程序之前,自动实现的属性“name”的支持字段必须完全赋值。 请考虑从构造函数初始值设定项中调用默认构造函数。
若要从构造函数中为自动实现的属性赋值,必须首先调用默认构造函数以创建对象。
更正此错误
- 在构造函数初始值设定项中添加对默认构造函数的调用,如以下示例中所示。 请注意 : this() 的使用。 有关更多信息,请参见 this(C# 参考)。
示例
下面的代码将生成 CS0843:
// cs0843.cs
struct S
{
public int AIProp { get; set; }
public S(int i){} //CS0843
// Try the following lines instead.
// public S(int i) : this()
// {
// AIProp = i;
// }
}
class Test
{
static int Main()
{
return 1;
}
}