Можно ли получить полный путь к файлу класса, в котором находится исходный код, с помощью API Coderush? - PullRequest
1 голос
/ 02 мая 2011

Я хотел получить полный путь к файлу, когда каретка в visual studio находится в объекте Creation или ссылается на метод какого-то другого класса.

Что-то вроде

Class CurrentClass
{
   Class2 object1=new Class2();

   object1.method1();

}

Могу ли я получитьполный путь к файлу, например c: \ ProjectLocation \ Class2.cs .

Когда я получаю эту строку в Visual Studio.

Class2 object1=new Class2();

1 Ответ

2 голосов
/ 10 мая 2011

Вы можете разрешить активное выражение (выражение создания объекта, выражение ссылки на тип, выражение ссылки на метод) и получить имя файла с разрешенным объявлением, используя следующий код:

  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...
    }
  }
...