Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么不是';构造函数没有设置参数吗?_C#_Parameters_Constructor_Field - Fatal编程技术网

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; }
}

因此,任务实际上是有效的

请不要在帖子中使用代码图像。发布实际代码和收到的完整错误。我同意他应该将代码放在文本中,但本地调试窗口的图像很有用。此外,您可能需要阅读和/或了解如何设置属性,也可以了解如何实现自动属性