1

Entity Framework のソース コードを勉強していて?.、このプロジェクトで多くのシンボルを見つけました。の機能が理解できません?.

たとえば、次のように?.シンボルを見つけることができます。DbContext.cs

public virtual void Dispose()
{
    _disposed = true;
    _serviceScope?.Dispose();
    _setInitializer = null;
    _changeTracker = null;
    _stateManager = null;
    _changeDetector = null;
    _graphAttacher = null;
    _model = null;
}
4

2 に答える 2

4

演算子は、 「null 条件付き」演算子?.と呼ばれる C#6 の新しい構造です。

それを使用することで、でないDispose()場合にのみ実行されます。そうしないと、 ._serviceScopenullNullReferenceException

于 2016-04-07T01:41:03.680 に答える
1

If _serviceScope is not null then _serviceScope.Dispose(); のショートカットです。

参考までに、新しいc# 6.0で null 条件演算子として導入されました。

于 2016-04-07T01:40:43.697 に答える