【发布时间】:2010-12-02 14:00:00
【问题描述】:
请解释结构构造函数的以下错误。如果我将结构更改为类 错误消失了。
public struct DealImportRequest
{
public DealRequestBase DealReq { get; set; }
public int ImportRetryCounter { get; set; }
public DealImportRequest(DealRequestBase drb)
{
DealReq = drb;
ImportRetryCounter = 0;
}
}
- 错误 CS0188:“this”对象在其所有字段都分配给之前无法使用
- 错误 CS0843:自动实现属性的支持字段 在将控制权返回给调用者之前,必须完全分配“DealImportRequest.DealReq”。考虑从构造函数初始化器调用默认构造函数。
【问题讨论】:
-
@Hps,我不同意。虽然它确实与该问题中的相同问题相关,但它这样做是相对于隐式字段(支持自动属性)而不是显式字段这一事实足以阻止某人理解这两个问题为何相关。这应该足以认为它们不重复 IMO。
-
你是对的。谢谢你的解释。我应该更加小心:)
标签: c# struct compiler-errors language-features