में सशर्त संकलन विवरण, मैं Roslyn का उपयोग कर सी # सशर्त संकलन विवरण कैसे पार्स कर सकता हूं।पार्सिंग सी # रोसलीन
निम्नलिखित कोड में, मैं रोज़लिन को सशर्त संकलन कथन नोड देना चाहता हूं।
public abstract class TestClass
{
public int Get()
{
#if DEBUG
return 1;
#else
return 2;
#endif
}
}
मैं SyntaxTree में सशर्त संकलन नोड नहीं मिलता है और न ही यह }
की LeadingTrivia या {
की TrailingTrivia का हिस्सा है मैं }
की LeadingTrivia में क्या मिलता "\t\t#endif\r\n\t\t"
है और {
की TrailingTrivia "\r\n"
है जो पूर्ण सशर्त संकलन कथन नहीं है।
क्या कोई मुझे सही दिशा में इंगित कर सकता है? आप ऐसा कर सकते
public override SyntaxNode VisitIfDirectiveTrivia(IfDirectiveTriviaSyntax node)
{
}
public override SyntaxNode VisitElseDirectiveTrivia(ElseDirectiveTriviaSyntax node)
{
}
public override SyntaxNode VisitEndIfDirectiveTrivia(EndIfDirectiveTriviaSyntax node)
{
}
आप आगंतुकों के माध्यम से नहीं इस प्राप्त करना चाहते हैं,:
आप एक गैर रोसलिन समाधान पर विचार करने को तैयार हैं, तो मैं यह कर सकते हैं एक का वर्णन करें जहां यह प्रक्रिया बेहद सरल है। –
@ ira-baxter यह roslyn निर्दिष्ट है – adeel41