实现标准 Dispose() 模式



实现Dispose(bool disposing)的标准方法如下:

protected virtual void Dispose(bool disposing)
{
if (disposing)
{
if (resource != null)
resource.Dispose();
}
}

在使用 C# 6 及更高版本时,有什么理由不能将其缩短为以下内容吗?

protected virtual void Dispose(bool disposing)
{
if (disposing)
resource?.Dispose();
}

不,当使用 C# 6 及更高版本时,没有理由。

第二段代码是第一段代码的语法糖,所以除了源代码看起来不同之外,它们是相同的。

如果您发现文章指出最佳实践是第一个代码,则它们可能是在 C# 6 和 null 条件运算符出现之前编写的。

最新更新