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?
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 –
@PatrickfromNDependteam Vielen Dank für die Info. Wenn Sie Ihren Kommentar als Antwort posten, werde ich ihn als korrekt markieren. – ThePadawan