c# - 空 C# 成员访问中的问号在中意味着什么?

  显示原文与译文双语对照的内容
73 4

有人请你解释一下,成员访问中的问号在以下代码中是什么意思?

它是标准 C#的一部分?我在 Xamarin Studio中尝试编译这里文件时出现解析错误。

this.AnalyzerLoadFailed?.Invoke(this, new AnalyzerLoadFailureEventArgs(AnalyzerLoadFailureEventArgs.FailureErrorCode.NoAnalyzers, null, null));

AnalyzerFileReference.cs 行 195

时间:原作者:0个回答

66 5

在为 1 引入了零传播运算符,仅在对象 this.AnalyzerLoadFailed 不为空时调用这里方法:

this.AnalyzerLoadFailed?.Invoke(this, new AnalyzerLoadFailureEventArgs(AnalyzerLoadFailureEventArgs.FailureErrorCode.NoAnalyzers, null, null));

等于:

if( this.AnalyzerLoadFailed!= null)
 this.AnalyzerLoadFailed.Invoke(this, new AnalyzerLoadFailureEventArgs(AnalyzerLoadFailureEventArgs.FailureErrorCode.NoAnalyzers, null, null));

See C# Propagation Propagation,你可以在这里看到

我还曾经在这里写过关于这个即将推出的特性的文章

原作者:
...