我使用AutoMapper 3.2.1.0使用ToNullSafeString()方法编写代码。 我将NUGet包升级到4.1.1.0,我再也找不到他们的包中的方法。有人知道更换功能的推荐方法吗?是否有一个功能相同的新结构?如果是这样,我无法弄清楚它是什么。我也找不到它被删除的原因。
答案 0 :(得分:1)
这个问题实际上已在下面的几条评论中得到了很好的回答。为了完整起见,这里有几个解决方案的实际实现。
简短回答
可能是最简单和最佳的解决方案:将.ToNullSafeString()
的所有实例替换为?.ToString()
。这样做也是如此,但使用内置于较新版本的.Net中的功能,而不是依赖于外部扩展方法。
替代答案
如果您从早期版本的Automapper中获得了ToNullSafeString()
方法的大量调用,并且由于某种原因或某些原因,您无法或不想通过所有代码并立即编辑它,你可以使用它。
将以下类添加到项目中,并确保可以从之前调用Automapper方法的任何类中访问它。那些调用将自动指向此。
public static class NullSafeStringHelper
{
public static string ToNullSafeString(this object value)
{
return value?.ToString();
}
}