dotnet/roslyn

IDE0016 codefix can change behaviour

開放

#36,177 建立於 2019年6月5日

 (13 則留言) (0 個反應) (0 位負責人)C# (4,257 個分叉)batch import
Area-AnalyzersBugFeature - IDE0016help wanted

倉庫指標

星標
 (20,414 顆星)
PR 合併指標
 (PR 指標待抓取)

描述

Version Used: 16.1.1+28922.388

Steps to Reproduce:

object _o;
bool _b;
void M(object o)
{
    if (o == null)
        throw new ArgumentNullException(nameof(o));
    _b = true;
    _o = o;
}

IDE0016 fires and wants to change the code to:

object _o;
bool _b;
void M(object o)
{
    _b = true;
    _o = o ?? throw new ArgumentNullException(nameof(o));
}

Expected Behavior:

No change in behaviour.

Actual Behavior:

Potential change in behaviour due to throw being moved after side effecty code.

貢獻者指南