Is it possible to get the complete file path of a class where the source code is located using coderush APIs?

StackOverflow https://stackoverflow.com/questions/5857567

  •  27-10-2019
  •  | 
  •  

Question

I wanted to get the full file path when the caret in visual studio is at object Creation or referring a method of some other class.

Something like

Class CurrentClass
{
   Class2 object1=new Class2();

   object1.method1();

}

Can I get the complete file path like c:\ProjectLocation\Class2.cs.

When I get this line in visual studio.

Class2 object1=new Class2();
Was it helpful?

Solution

You can resolve the active expression (object creation expression, type reference expression, method reference expression), and get the file name with resolved declaration, using code like this:

  Expression activeExpression = CodeRush.Source.Active as Expression;
  if (activeExpression!= null)
  {
    IElement declaration = activeExpression.Resolve(new SourceTreeResolver());
    if (declaration != null)
    {
      string fileName = declaration.FirstFile.Name;
      // use the fileName...
    }
  }
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top