2016-04-04 3 views
2

Angenommen, ich analysiere eine Lösung, die viele Kontrollen enthält, z.Kann CQLinq-Code in mehreren Abfragen wiederverwendet werden?

public class FooControl : IControlBase 
{ 
    public void EvilMethod1() 
    { 
     // does some warning-level evil here 
    } 

    public void EvilMethod2() 
    { 
     // does some critical-level evil here 
    } 
} 

Ich möchte zwei CQLinq Abfragen schreiben, alle Klassen zu berichten, die bösen Code haben (wie EvilMethod1) und solche, die die Verwendung wirklich bösen Code (wie EvilMethod2) in zwei separate Abfragen.

Um alle Typen zu finden, die von dieser Abfrage analysiert werden sollte, werde ich Code wie

let Controls = from t in Types 
where t.NameLike("Control") 
&& t.Implement(@"myNamespace.IControlBase") 
select t 

from c in Controls 
... // actual query goes here 

Dieser Code offensichtlich von beiden Abfragen verwendet würde schreiben. Gibt es eine Möglichkeit, diesen Code in beiden Abfragen zu referenzieren oder bin ich gezwungen, es zu replizieren?

+1

Jetzt müssen Sie die Logik replizieren, aber diese Funktion ist in unserer TODO-Liste, Sie können dafür hier https://ndepend.uservoice.com/forums/226344-ndepend-user-voice/suggestions/9752604 abstimmen -let-Abfragen-Pull-Daten von anderen Abfragen –

+1

@PatrickfromNDependteam Vielen Dank für die Info. Wenn Sie Ihren Kommentar als Antwort posten, werde ich ihn als korrekt markieren. – ThePadawan

Antwort

1

Vorerst müssen Sie die Logik replizieren, aber diese Funktion ist in unserer ToDo-Liste, können Sie für ihn stimmen hier:

https://ndepend.uservoice.com/forums/226344-ndepend-user-voice/suggestions/9752604-let-queries-pull-data-from-other-queries

Wir werden diese Antwort aktualisieren, sobald verfügbar, hoffentlich einige Zeit in 2017.

Btw, diese Art von Idee ist bereits durch die notmycode JustMyCode feature verfügbar, aber Sie können nur die JustMyCode setzen und wiederverwenden.

Verwandte Themen