Can someone please explain to me what does the question mark in the member access in the following code means?
Is it part of standard C#? I get parse errors when trying to compile this file in Xamarin Studio.
this.AnalyzerLoadFailed?.Invoke(this, new AnalyzerLoadFailureEventArgs(AnalyzerLoadFailureEventArgs.FailureErrorCode.NoAnalyzers, null, null));
AnalyzerFileReference.cs line 195
In C# version 6 it will be shorthand for
It is Null Propagation operator introduced in C# 6, it will call the method only if object
this.AnalyzerLoadFailed
is not null:is equal to :
See C# 6.0 – Null Propagation Operator , also you can see here
i also once wrote about this upcoming feature in c# 6 here