0

I want to get list of methods in current file, when my tool is fired, but I don't have idea how that combobox is nested in the _applicationObject object. Can you help me?

deha
  • 805
  • 8
  • 29

1 Answers1

0

I did it this way:

    private void ListMethods()
    {
        CodeNamespace codenamespace = null;
        for(int i = 1; i <= _applicationObject.ActiveWindow.ProjectItem.FileCodeModel.CodeElements.Count; i++)
        {
            if(_applicationObject.ActiveWindow.ProjectItem.FileCodeModel.CodeElements.Item(i).Kind == vsCMElement.vsCMElementNamespace)
            {
                codenamespace = (CodeNamespace)_applicationObject.ActiveWindow.ProjectItem.FileCodeModel.CodeElements.Item(i);
            }
        }

        for(int i = 1; i <= codenamespace.Members.Count; i++)
        {
            if(codenamespace.Members.Item(i) is CodeClass)
            {
                ListMethodsForClass(codenamespace.Members.Item(i) as CodeClass);
            }
        }
    }

    private void ListMethodsForClass(CodeClass codeclass)
    {
        for (int i = 1; i <= codeclass.Members.Count; i++)
        {
            message(codeclass.Members.Item(i).Name);
        }
    }

I hope it will help in the future some of you :)

deha
  • 805
  • 8
  • 29