2014-06-10 31 views
0

我尝试编写一个插件,我需要访问用户打开快捷菜单的对象。 (快捷菜单的说明:http://msdn.microsoft.com/en-us/library/ms165623.aspx快捷菜单上的Visual Studio插件访问类型

例子:

public class MyPublicClass 
{ 
    private void myMethod() 
    { 
    public MyClass class = new MyClass(); 
    } 
} 

如果用户在类鼠标右击比我需要知道的类型“MyClass的”。这应该适用于任何类型和任何类别。

事情我迄今所做的:

  1. 我知道如何创建一个插件。
  2. 尝试使用CodeElementFromPoint。 (不工作)
  3. 使用http://www.mztools.com/articles/2006/MZ2006009.aspx尝试(如果使用IAM这vsCMElementClass刚刚返回MyPublicClass但不是MyClass的。)

我需要知道的类型,因为我要生成通过反射的东西。

(我写在C#中的插件)我发现

感谢

回答

0

,这是不可能。这在文档中也有提及。您可以使用FileCodeModel访问的最深处是方法级别。方法内的东西不能被访问。

但有一个很好的解决方案。你可以使用Roslyn编译器。使用这个新的开源编译器,您可以访问代码的每个类型,每个属性等。