예제 #1
0
        protected MethodDeclarationSyntax FindMethod(TypeSyntax type)
        {
            type = type.GetThisAndParents()
                   .TakeWhile(t => t is TypeSyntax)
                   .Cast <TypeSyntax>()
                   .LastOrDefault();

            return(type.Parent.As <MethodDeclarationSyntax>()
                   ?? type.FindUp <ParameterSyntax>()?.Parent?.Parent.As <MethodDeclarationSyntax>());
        }
        private static ExpressionSyntax GetExpression(TypeSyntax type)
        {
            var cast = type.FindUp <InvocationExpressionSyntax>();

            return(cast.GetChildExpression());
        }
예제 #3
0
 private static InvocationExpressionSyntax GetSelectExpression(TypeSyntax type)
 {
     return(type.FindUp <InvocationExpressionSyntax>(skipThis: true));
 }