C# 为什么不是';构造函数没有设置参数吗?
在完成一个专门的数据解析和管理类之后,我缩小了范围,遇到了一个我似乎无法解决的问题 我有一个名为C# 为什么不是';构造函数没有设置参数吗?,c#,parameters,constructor,field,C#,Parameters,Constructor,Field,在完成一个专门的数据解析和管理类之后,我缩小了范围,遇到了一个我似乎无法解决的问题 我有一个名为RecordDisposal的活动类和一个名为DisposalRecord的数据类(很抱歉命名不好;我想不出任何其他东西不会把这件事与其他事情混淆) 所以我设置了一些基本的测试,但结果并不是很理想(见图)。在断点处,字段UnparsedRetentionCode应设置为参数值RetentionCode(参见断点上方的行),在本例中为1,但不是(参见底部的局部变量窗口) 我做错了什么 由于setter正
RecordDisposal
的活动类和一个名为DisposalRecord
的数据类(很抱歉命名不好;我想不出任何其他东西不会把这件事与其他事情混淆)
所以我设置了一些基本的测试,但结果并不是很理想(见图)。在断点处,字段UnparsedRetentionCode
应设置为参数值RetentionCode
(参见断点上方的行),在本例中为1
,但不是(参见底部的局部变量窗口)
我做错了什么
由于setter正在有效执行
\u fullRetentionCode=\u fullRetentionCode
(在创建对象时为null),因此“监视”窗口中的UnparsedRetentionCode为null
应该是:
private set
{
_fullRetentionCode = value;
}
您的设定者正在设置支持字段;返回支持字段的值(通过属性getter)。所以它总是空的 相反:
public string UnparsedRetentionCode
{
get { return _fullRetentionCode; }
private set { _fullRetentionCode = value; }
}
因此,任务实际上是有效的 请不要在帖子中使用代码图像。发布实际代码和收到的完整错误。我同意他应该将代码放在文本中,但本地调试窗口的图像很有用。此外,您可能需要阅读和/或了解如何设置属性,也可以了解如何实现自动属性