本文整理汇总了C#中SeparatedSyntaxList.Count方法的典型用法代码示例。如果您正苦于以下问题:C# SeparatedSyntaxList.Count方法的具体用法?C# SeparatedSyntaxList.Count怎么用?C# SeparatedSyntaxList.Count使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类SeparatedSyntaxList
的用法示例。
在下文中一共展示了SeparatedSyntaxList.Count方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: SimplifyMethodAndConstructorInvocation
private static SyntaxNode SimplifyMethodAndConstructorInvocation(ref int numbering, ref SyntaxList<StatementSyntax> preList, SyntaxNode original, SyntaxNode origWithReplacedDesc)
{
SeparatedSyntaxList<ArgumentSyntax> slst = new SeparatedSyntaxList<ArgumentSyntax>();
SeparatedSyntaxList<ArgumentSyntax> myArgs;
InvocationExpressionSyntax ies = null;
ObjectCreationExpressionSyntax oces = null;
// es necesario manejarlos por separado, porque pese a que ambos tienen como propiedad Arguments
// de tipo SeparatedSyntaxList<ArgumentSyntax>, no estan en la misma linea de jerarquia
// de clases... entonces:
if (origWithReplacedDesc.IsKind(SyntaxKind.InvocationExpression))
{
ies = (InvocationExpressionSyntax)origWithReplacedDesc;
myArgs = ies.ArgumentList.Arguments;
}
else
{
oces = (ObjectCreationExpressionSyntax)origWithReplacedDesc;
myArgs = oces.ArgumentList.Arguments;
}
foreach (var arg in myArgs)
{
if (!(arg.Expression is LiteralExpressionSyntax || arg.Expression is IdentifierNameSyntax))
{
numbering++;
preList = preList.Add(SyntaxFactory.ParseStatement("var __a" + numbering + " = " + arg + ";"));
slst = slst.Add((SyntaxFactory.Argument(SyntaxFactory.ParseExpression("__a" + numbering))));
}
}
if (slst.Count() > 0)
{
var argumentList = SyntaxFactory.ArgumentList(slst);
if (origWithReplacedDesc.IsKind(SyntaxKind.InvocationExpression))
{
return ies.WithArgumentList(argumentList);
}
else
{
return oces.WithArgumentList(argumentList);
}
}
else return original;
}