使用对象初始化器时如何正确使用断点?例如,做这样的事情:row.Field("LastName"),DateOfBirth=row.Field("DateOfBirth")};人。添加(新人);无法将断点设置为单个赋值,断点将设置到整个块。如果我想确切地看到代码在哪里中断,我必须使用:foreach(DataRowrowindata.Rows){PersonnewPerson=newPerson();newPerson.Id=row.Field("Id");newPerson.Name=row.Field("姓名");newPerson.LastName=row.Field("LastName");newPerson.DateOfBirth=row.Field("DateOfBirth");人。添加(新人);或者也许我遗漏了什么。使用对象初始值设定项时能否正确调试?对象初始化器只是语法糖,在编译时被翻译。您的原始对象初始值设定项如下所示:vartemp=newPerson();temp.Id=row.Field("Id");temp.Name=row.Field("姓名");temp.LastName=row.Field("姓氏");temp.DateOfBirth=row.Field("DateOfBirth");变种人=温度;由于整个块都是这样翻译的,所以你不能一步完成。如果您绝对需要打破特定步骤,您有几个选择。分离。调试时不要使用对象初始化器,你可以把它们放回去。临时变量。而不是直接分配Id=row.Field("Id"),首先将row.Field("Id")分配给一个临时变量(或任何你想调试的),然后将临时变量分配给对象初始值设定项的属性。方法调用。您可以在自定义方法调用中包含一些代码,这些代码只允许您在自定义方法中添加断点。甚至可以这样概括:以上是C#学习教程:Howtousebreakpointswhenusingobjectinitializers?所有分享的内容,如果对你有用,需要了解更多C#学习教程,希望大家多多关注—Id=BreakThenDoSomething(()=>row.Field("Id"));publicstaticTBreakThenDoSomething(Funcf){Debugger.Break();返回f();}本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
