Пример #1
0
        public bool GetCurrentClassAndMethod(out MethodIdentifier methodIdentifier)
        {
            methodIdentifier = null;
            //EnvDTE80.vsCMParameterKind.vsCMParameterKin
            CodeFunction methodAtCaret = new VisualStudioCodeSearcher().GetMethodAtCaret(_dte);

            if (methodAtCaret != null)
            {
                var parameters = methodAtCaret.Parameters.Cast <CodeParameter2>().ToList();
                var names      = parameters.Select(p => GetKindString(p)
                                                   + (string.IsNullOrEmpty(p.Type.AsFullName) ? TranslateTypeName(p.Type.AsString)
                    : p.Type.AsFullName)).ToList();

                methodIdentifier = new VisualStudioCodeElementsFormatter()
                                   .CreateIdentifier(methodAtCaret.FullName, names);
                return(true);
            }
            return(false);
        }
        public bool GetCurrentClassAndMethod(out MethodIdentifier methodIdentifier)
        {
            methodIdentifier = null;
            //EnvDTE80.vsCMParameterKind.vsCMParameterKin
            CodeFunction methodAtCaret = new VisualStudioCodeSearcher().GetMethodAtCaret(_dte);
            if(methodAtCaret != null)
            {
                var parameters = methodAtCaret.Parameters.Cast<CodeParameter2>().ToList();
                var names = parameters.Select(p => GetKindString(p)
                    + (string.IsNullOrEmpty(p.Type.AsFullName) ? TranslateTypeName(p.Type.AsString)
                    : p.Type.AsFullName)).ToList();

                methodIdentifier = new VisualStudioCodeElementsFormatter()
                    .CreateIdentifier(methodAtCaret.FullName, names);
                return true;
            }
            return false;
        }