这个问题已经有了答案:
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;
}