本文整理汇总了C#中InvocationExpressionSyntax.ChildNodes方法的典型用法代码示例。如果您正苦于以下问题:C# InvocationExpressionSyntax.ChildNodes方法的具体用法?C# InvocationExpressionSyntax.ChildNodes怎么用?C# InvocationExpressionSyntax.ChildNodes使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类InvocationExpressionSyntax
的用法示例。
在下文中一共展示了InvocationExpressionSyntax.ChildNodes方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetNameOfTheInvokedMethod
internal static string GetNameOfTheInvokedMethod(InvocationExpressionSyntax invoke)
{
if (invoke == null) return null;
var memberAccess = invoke.ChildNodes()
.OfType<MemberAccessExpressionSyntax>()
.FirstOrDefault();
return GetNameExpressionOfTheInvokedMethod(invoke)?.ToString();
}
示例2: GetNameExpressionOfTheInvokedMethod
internal static SimpleNameSyntax GetNameExpressionOfTheInvokedMethod(InvocationExpressionSyntax invoke)
{
if (invoke == null) return null;
var memberAccess = invoke.ChildNodes()
.OfType<MemberAccessExpressionSyntax>()
.FirstOrDefault();
return memberAccess?.Name;
}
示例3: GetNameOfTheInvokedMethod
private static SimpleNameSyntax GetNameOfTheInvokedMethod(InvocationExpressionSyntax invoke) =>
invoke.ChildNodes().OfType<MemberAccessExpressionSyntax>().FirstOrDefault()?.Name;
示例4: VisitInvocationExpression
public override bool VisitInvocationExpression(InvocationExpressionSyntax node)
{
// There seems to be no better way to detect a "nameof" expression
var invocationIdentifier = node.ChildNodes().OfType<IdentifierNameSyntax>().FirstOrDefault();
if ((invocationIdentifier != null) && (invocationIdentifier.Identifier.ValueText == "nameof"))
return false;
if (base.VisitInvocationExpression(node))
return true;
return CheckRecursion(node);
}
示例5: TraverseInvocationExpression
private Method TraverseInvocationExpression(InvocationExpressionSyntax ies)
{
//TODO
//get method name and accessed variables
//and attributes and qualifiers
Method retIm = new Method();
if (ies.HasLeadingTrivia)
{
SetOuterComments(retIm, ies.GetLeadingTrivia().ToFullString());
}
if (ies.HasTrailingTrivia)
{
SetInnerComments(retIm, ies.GetTrailingTrivia().ToFullString());
}
//havent tested this with extra stuff like setting the variable equal to the method call
//or with variables in the method call
var methods = from aMethod in ies.ChildNodes().OfType<IdentifierNameSyntax>() select aMethod;
foreach (IdentifierNameSyntax ins in methods)
{
InvokedMethod tempMethod = new InvokedMethod();
tempMethod.Name = ins.Identifier.ValueText;
retIm.InvokedMethods.Add(tempMethod);
}
//var args = from aArg in ies.ArgumentList.Arguments.OfType<ArgumentSyntax>() select aArg;
//foreach (ArgumentSyntax asyn in args)
//{
// Variables tempVar = new Variables();
//}
var args = from aArg in ies.Expression.ChildNodes().OfType<IdentifierNameSyntax>() select aArg;
foreach (IdentifierNameSyntax ins in args)
{
Variables tempVar = new Variables();
tempVar.Name = ins.Identifier.ValueText;
retIm.AccessedVariables.Add(tempVar);
}
retIm.Name = ies.Expression.ToString();
return retIm;
}