मुझे फ़ाइल पर मिली सभी एक्सटेंशन विधियों को सूचीबद्ध करने की आवश्यकता है।Roslyn पर विस्तार विधियां कैसे प्राप्त करें?
यह मैं अब तक क्या कर रहा है (लगता है कि यह काम कर रहा):
var methods = nodes.OfType<MethodDeclarationSyntax>();
var extensionMethods = methods.Where(m =>
m.Modifiers.Any(t => t.Kind == SyntaxKind.StaticKeyword)
&& m.ParameterList.Parameters.Any(p =>
p.Modifiers.Any(pm => pm.Kind == SyntaxKind.ThisKeyword)));
हालांकि मैं सभी मामलों ऐसा लगता है कि यह काम कर रहा है का परीक्षण नहीं कर सका। लेकिन मैं सोच रहा था कि इस समाधान तक पहुंचने के लिए एक और संक्षिप्त तरीका था या नहीं।
क्या कुछ प्रकार का IsExtension या कुछ SyntaxKind.ExtensionMethod है? मैंने एक नज़र डाली लेकिन कम से कम कुछ भी स्पष्ट नहीं मिला।
मैं नवीनतम रोसलिन सितम्बर/12
उत्तर के लिए धन्यवाद, यह काम किया। मैं बस सोच रहा था कि क्या मैं संदर्भ जोड़ने से बचने के लिए अपने दृष्टिकोण का उपयोग कर सकता हूं। मैं परियोजना को यथासंभव स्वतंत्र छोड़ना चाहता था। धन्यवाद। – eestein
हाँ, यदि आप संदर्भ जोड़ना नहीं चाहते हैं, तो मुझे लगता है कि आपका दृष्टिकोण उचित है। – svick
ठीक है, धन्यवाद! – eestein