2016-10-20 9 views
1

方法訪問(リーフV)訪問(コンポジットV)はSonarLintによって使用されていないとしてマークされています。 またSonarQubeは未使用とマークします。しかし、それは動的で呼び出されました。 誰かがそれを修正する方法を知っていますか?おそらくいくつかの構成ですか? エントリポイントは1つVisit(ベースルート)です。次に、動的コールを使用してツリーを通過します。ルールS1144 C#の "未使用のプライベートメソッドを削除する" - VS 2015

UPD:更新された例は

これはサンプルです:

public void Visit(Base root) 
{ 
    Visit((dynamic)root); 
} 

private void Visit(Composite v) 
{ 
    v.Children.ForEach(el => Visit((dynamic)el)); 
} 

private void Visit(Leaf v) 
{ 
    // do smth 
} 

class Base 
{ 
} 

class Composite : Base 
{ 
    public IEnumerable<Base> Children { get;} 
} 

class Leaf : Base 
{ 

} 
+0

「訪問」と呼ばれるコードを教えてもらえますか? – dotctor

+0

@dotctorはい、srryエントリポイントが間違っていて、コードが更新されました。これは軽いサンプルです。 訪問はv.Children.ForEach(el => Visit((dynamic)el))でも呼び出されました。 – Alex

+0

@mybirthnameソナーを削除する - それは事件や解決策ではない – Alex

答えて

0

これはSonarLintで偽陽性です。現在のところ、これに対する修正はありません。メソッド参照を解決するときは、おそらくCandidateSymbolsを使用するべきです。私はここにそのチケットを作成しました:https://jira.sonarsource.com/browse/SLVS-1080

関連する問題