Visual Studio 包(或加载项):当插入符号位于属性或方法名称上时获取变量的类信息

本文关键字:方法 获取 类信息 变量 属性 加载项 Studio 插入 于属性 Visual 符号 | 更新日期: 2024-10-30 08:47:41

这是我的第一篇文章,所以请耐心等待。

在过去的几天里,我一直在谷歌上搜索如何做到这一点。

我什至在这里发现了一些似乎相似的东西:

找出游标是否在方法、类或命名空间块内

但我正在寻找的略有不同。

我希望制作一个简单的插件/包,它将带我到接口的第一个具体实现。

因此,给定以下代码:

  class Program
  {
    static void Main(string[] args)
    {
      var t = new Test();
      var testValue = t.Prop1;
    }
  }
  class Test : ITest
  {
    public string Prop1 { get; set; }
  }
  public interface ITest
  {
    string Prop1 { get; set; }
  }

假设插入符号 ("|") 位于这一行:"var testValue = t.Pr|op1;"

如何判断属性 Prop1 属于哪个类?

我设置了一个包并添加了尝试获取此信息的项目。 我得到的最接近的是获取当前的CodeElement,这与我上面描述的并不完全相同。 插入符号处的 CodeElement 返回了我的 Program.Main,这不是我要找的。

我也试图找出Edit.GoToDefinition的工作原理(使用反射器)无济于事。

我可以列出我为找出这一点而经历的所有长度,但想让这篇文章保持简短。

感谢您的任何帮助。 这个网站是最好的。

Visual Studio 包(或加载项):当插入符号位于属性或方法名称上时获取变量的类信息

您是否尝试过右键单击,转到定义/转到声明?