首页 > 解决方案 > 如何操作 Visual Studios 开放缓冲区?/ 如何让我的自定义组件生成一个 nameof(element) 调用?

问题描述

非常不同的问题,但他们正在解决我遇到的同一个问题。

我需要在运行时按名称调用某些方法。问题在于,我们使用了一个更改方法名称的混淆应用程序。由于各种原因,我无法使用 MethodInfo。这必须可以从 WinForms 设计器中使用。

我可以以某种方式获取当前在 VS 中打开的缓冲区列表并对其进行操作吗?也许以某种方式让 VS 输出 nameof(element) 而不是文字名称?

我可以访问大多数 Designer 服务(IDesignerHost、IEventBindingService 等)。我无权访问 I- 或 SVsTextManager。至少我不知道如何通过 GetService() 获取 TextManager 返回一个空的 COM 对象。我认为这与没有激活文本编辑器视图有关。

我可以直接操作文件,但如果可能的话,我宁愿不这样做。

或者:是否可以在设计时序列化 MethodInfo ,这在运行时是正确的?

标签: c#winformsvisual-studio-2019

解决方案


推荐阅读