这个问题已经有了答案:
Struct constructor: “fields must be fully assigned before control is returned to the caller.”
4个答案
Auto-properties and structs
3个答案
以下代码建议我不能将隐式属性与结构一起使用:

public struct LimitfailureRecord
{
   public LimitfailureRecord(string sampleCode)
   {
      SampleCode = sampleCode;
   }

   public string SampleCode {get; set;}
   {
   }
}

它无法编译,并显示错误消息
“自动实现属性的备份字段
'blahblah.limitfailurerecord.samplecode'
必须在控件返回给调用方之前完全分配。
考虑从构造函数调用默认构造函数
初始值设定项。“
如果我把结构改成类就可以了。
我需要做什么才能使它成为一个结构?如果我可以避免的话,我宁愿不使用支持字段的长度(这是真正代码的一个精简版)。

最佳答案

对于结构,您必须在所有其他构造函数中调用默认构造函数:

public LimitfailureRecord(string sampleCode) : this()
{
    SampleCode = sampleCode;
}

10-01 12:50