记一次 bug 修复 , 未将对象引用实例化

时间:2024-01-18 16:52:32

在软件升级,新老版本兼容时, 通过 增加新的配置字段,如果有值,执行新的逻辑。如果为空,走原始逻辑。

如上策略在某个项目中,如下示例,报错:

bool isSelectTableLane = "F01".Equals(System.Configuration.ConfigurationManager.AppSettings["SHOPFLOOR"].Trim());

后来发现是  Trim() 造成的。  Equals() 方法充许与 null 比较 。 但  字符串对象 执行 trim()  时,要求对象本身必须已经初使化。