是否可以使用coderush API获取源代码所在类的完整文件路径?

发布于 2024-11-04 05:33:42 字数 322 浏览 1 评论 0原文

当 Visual Studio 中的插入符处于对象创建或引用其他类的方法时,我想获取完整的文件路径。

Class CurrentClass
{
   Class2 object1=new Class2();

   object1.method1();

}

我可以获得完整的文件路径,例如c:\ProjectLocation\Class2.cs

当我在视觉工作室中得到这条线时。

Class2 object1=new Class2();

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();

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

独行侠 2024-11-11 05:33:42

您可以解析活动表达式(对象创建表达式、类型引用表达式、方法引用表达式),并使用解析声明获取文件名,使用如下代码:

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

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...
    }
  }
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文