-2
SyntaxTree内のノードの兄弟を犠牲にすることは可能ですか?SyntaxWalkerを使用してSyntaxTree内の兄弟ノードを列挙する方法
次の例では、オレンジ色の矢印としてマークされたノードの兄弟であるノード(オレンジ色の円)のリストを取得するにはどうすればよいですか?
If dayW = DayOfWeek.Wednesday Then
SyntaxTree内のノードの兄弟を犠牲にすることは可能ですか?SyntaxWalkerを使用してSyntaxTree内の兄弟ノードを列挙する方法
次の例では、オレンジ色の矢印としてマークされたノードの兄弟であるノード(オレンジ色の円)のリストを取得するにはどうすればよいですか?
If dayW = DayOfWeek.Wednesday Then
の親文のノードは文ともMultiLineIfStatement.ElseIfBlocksがについての情報を提供する場合と終了した場合の詳細を提供MultiLineIfStatementある場合ElseおよびEステートメント。
public override void VisitIfStatement(IfStatementSyntax node)
{
base.VisitIfStatement(node);
var Block = node.Parent as MultiLineIfBlockSyntax;
Location Location = Block.GetLocation();
FileLinePositionSpan LinePosition = Location.GetLineSpan();
int Level = IndentLevel(Block);
// Process If and EndIf staments Details here
// Get the list of ElseIf blocks and Else Block
SyntaxList<ElseIfBlockSyntax> ElseIfBlocks = Block.ElseIfBlocks;
ElseBlockSyntax ElseBlock = Block.ElseBlock;
/Process ElseIf blocks
for (int i = 0; i <= ElseIfBlocks.Count - 1; i++)
{
ElseIfBlockSyntax ElseIfBlock = ElseIfBlocks[i];
Location = ElseIfBlock.GetLocation();
LinePosition = Location.GetLineSpan();
// **Process ElseIf statements here**
}
if (ElseBlock != null)
{
Location = ElseBlock.GetLocation();
LinePosition = Location.GetLineSpan();
// **Process ElseBlock Details here**
}
}
:ここ はmethed私VisitIfStatementです