C# · 12月 26, 2021

c# – 在构造函数中检查Null

我真的试图找出易于调试的可重用代码的最佳做法.在开发人员中,我已经遇到了一个共同的做法,我还不太明白. public MyConstructor(Object myObject){ if (myObject == null) throw new ArgumentNullException(“myObject is null.”); _myObject = myObject;}

几乎似乎没有必要做这个检查.但是我认为这是因为我完全不了解这个检查的好处.似乎一个null引用异常会被抛出?我可能是错的,真的很想听到一些想法.

谢谢.

解决方法 对于编译器,null是一个合法的构造函数参数.

您的类可能能够处理myObject的空值.但是如果不能 – 如果你的类在myObject为空时你的类会中断,那么检查构造函数就可以让你进入fail fast.