C# 如何在重新映射对象期间捕获空值/错误?

C# 如何在重新映射对象期间捕获空值/错误?,c#,debugging,C#,Debugging,我想重新映射对象 var objDTO = new objDTO { prop1 = actualOBJ.prop1, prop2 = actualOBJ.prop2, prop3 = actualOBJ.prop3 } 例如,prop3为null,并引发了NullReferenceException 我如何提取有关抛出了哪个属性NullReferenceException的信息 此外: 正在将objDTO的所有属性标记为可空 公共类型?建议1 公共类型?建议2 公共类型?建议

我想重新映射对象

var objDTO = new objDTO
{
  prop1 = actualOBJ.prop1,

  prop2 = actualOBJ.prop2,

  prop3 = actualOBJ.prop3
}
例如,prop3为null,并引发了
NullReferenceException

我如何提取有关抛出了哪个属性
NullReferenceException
的信息

此外:

正在将objDTO的所有属性标记为可空

公共类型?建议1

公共类型?建议2

公共类型?建议3

处理此问题的好方法?

在创建objDto的行上放置一个断点(F9),并使用VS调试器运行程序。然后,您将能够检查当前堆栈帧中使用的所有局部变量,以找到一个为null的变量

举个简单的例子:

我认为是ActualLobj变量为空。您将需要使用调试器。它将准确地向您显示引发异常的行,您可以检查所有变量的值。@ChristophLütjen好吧,如果我以这种方式创建对象,那么调试器只会跳过初始化,同时这样做:
var objDTO=new objDTO()
=>
objDTO.prop1=actualOBJ.prop1
将显示一个问题。我只是想知道是否有可能知道第一种方法的问题在哪里,但我可以使用第二种方法:波普,我想你可能没有理解克里斯托夫的观点。即使所有属性都为null,也不会得到NullReferenceException——将null指定给属性是完全合法的。空引用可能是对象本身,
actuallobj