private bool TryGetParameterOfType()

in src/WebJobs.Extensions.DurableTask.Analyzers/CodefixProviders/Orchestrator/TimerCodeFixProvider.cs [146:170]


        private bool TryGetParameterOfType(SyntaxNode argument, SemanticModel semanticModel, string typeToCompare, out string parameter)
        {
            if (TryGetIdentifierNameChildNodes(argument, out IEnumerable<SyntaxNode> node) ||
                TryGetSimpleMemberAccessExpressionChildNodes(argument, out node) ||
                TryGetObjectCreationExpressionChildNodes(argument, out node))
            {
                if (TryGetIdentifierNameChildNodes(node.FirstOrDefault(), out IEnumerable<SyntaxNode> identifiers))
                {
                    var typeWithoutNamespace = GetTypeWithoutNamespace(typeToCompare);
                    foreach (SyntaxNode identifier in identifiers)
                    {
                        if (string.Equals(identifier.ToString(), typeWithoutNamespace) ||
                            SyntaxNodeUtils.TryGetITypeSymbol(semanticModel, identifier, out ITypeSymbol type) &&
                            string.Equals(type.ToString(), typeToCompare))
                        {
                            parameter = node.First().ToString();
                            return true;
                        }
                    }
                }
            }

            parameter = null;
            return false;
        }