स्टूस्मिथ के जवाब को पूरा करने के लिए, NDepend ऐसा लगता है जो आप खोज रहे हैं। NDepend लिनक्यू क्वेरीज़ पर कोड क्वेरीज़ और नियम लिखने देता है, (जिसे हमकहते हैं)। अस्वीकरण: मैं उपकरण
उदाहरण के लिए के डेवलपर्स में से एक हूँ यहाँ कुछ CQLinq प्रश्नों हैं: -> सूची वर्गों जिसका नाम एक्स से शुरू
from t in Application.Types.WithNameLike("^x")
where t.IsClass select t
-
> सूची सभी एक्स के उपवर्गों
from t in Application.Types
where t.DeriveFrom("MyNamespace.MyTypeX")
select t
-> सूची तरीकों जो वर्ग की एक वस्तु एक्स
instanciate
from m in Application.Methods
where m.CreateA("MyNamespace.MyTypeX")
select m
-> सूची तरीकों विधि y बुला - ...
from m in Application.Methods
where m.IsUsing("MyNamespace.MyType.MyMethodY()")
select m
200 code rules से अधिक डिफ़ॉल्ट रूप से प्रस्तावित हैं। मौजूदा नियमों को अनुकूलित करना या अपने नियम बनाना, को सी # LINQ वाक्यविन्यास के लिए सरल धन्यवाद है। नाम स्थान NDepend.CodeModel में प्रकारों पर
वास्तव में, CQLinq पर NDepend.API आधारित है, और अधिक विशेष रूप से:
CQLinq प्रश्नों VisualStudio में लाइव संपादित किया जा सकता है, और की पेशकश तत्काल परिणाम, ब्राउज़िंग सुविधाओं के साथ। NDepend.API के साथ आप चीजों को और अधिक मुश्किल tghan करने के लिए प्रोग्राम लिख सकते हैं केवल CQLinq प्रश्न, उदाहरण के लिए हमने Code Duplicate Finder tool NDepend.API के साथ लिखा था।
नियम live in Visual Studio और generated HTML+javascript report में बिल्ड प्रक्रिया समय पर सत्यापित किए जा सकते हैं।
स्रोत
2010-10-19 12:58:43
जब तक, @monkeyget स्रोत कोड को देख रहा है। फिर वे शायद एक पार्सर चाहते हैं। – kenny
या एक कंपाइलर :)। हाँ मैं तुम्हें याद किया कि उसने कहा "स्रोत कोड"। मुझे लगता है कि एनडीपेन्ड और कुछ आईडीई प्लगइन्स तब सहायता के हो सकते हैं। माफ़ कीजिये! – MichaelGG
सिस्टम। रिफ्लेक्शन वास्तव में एक विकल्प है जिसे मैं देखता हूं लेकिन यह सीमित लगता है और मुझे यकीन है कि मैं जो करना चाहता हूं उसके लिए अधिक शक्तिशाली और सरल उपकरण मौजूद होना चाहिए। मैंने प्रश्न में स्रोत कोड का उल्लेख किया लेकिन आईएल पर काम करने वाला एक उपकरण भी ठीक रहेगा। – Monkeyget