dotnet/roslyn

Analyzer Improvement for IDE0059

Aperta

#55.960 aperta il 27 ago 2021

 (2 commenti) (0 reazioni) (0 assegnatari)C# (4257 fork)batch import
Area-IDEFeature - IDE0059help wanted

Metriche repository

Star
 (20.414 stelle)
Metriche merge PR
 (Merge medio 6g 17h) (256 PR mergiate in 30 g)

Descrizione

Brief description: The following two variable declarations are equivalent and only vary based on coding style:

a? ret;

if(Condition){
  ret = new a(){ ... };
} else {
  ret = new a(){ ... };
}

AND

var ret = default(a?);

if(Condition){
  ret = new a(){ ... };
} else {
  ret = new a(){ ... };
}

Today, IDE0059 triggers if a variable is initialized with any value and then later reassigned. I suggest updating IDE0059 to trigger only if a variable is initialized to a non-default value and then later reassigned.

Languages applicable: C# any maybe VB.

Code example that the analyzer SHOULD report: Needlessly initializing to a non-default value.

Code example that the analyzer not report: See above

Guida contributor