我正在尝试为Visual Studio 2017开发文本编辑器扩展,并且在将外部程序集中定义的类实例导入IWpfTextEditorCreationListener的构造函数时遇到麻烦。如果我尝试将外部程序集中定义的类导入构造函数,则不会触发IWpfTextEditorCreationListener。
该扩展程序实现IWpfTextEditorCreationListener接口,如以下代码所示:
[ContentType("code")]
[Export(typeof(IWpfTextViewCreationListener))]
[TextViewRole(PredefinedTextViewRoles.Editable)]
public class MyTextViewCreationListener : IWpfTextViewCreationListener
{
private ExternalClassLibrary.ExternalClass clazz;
[ImportingConstructor]
public MyTextViewCreationListener(ExternalClassLibrary.ExternalClass clazz)
{
this.clazz = clazz;
}
public void TextViewCreated(IWpfTextView textView)
{
clazz.foo();
}
}
ExternalClass在另一个程序集中实现,如下所示:
namespace ExternalClassLibrary
{
[Export]
public class ExternalClass
{
public void foo()
{
}
}
}
如果MyTextViewCreationListener的构造函数被注释掉,则调用TextViewCreated(),但未注释掉它,而不调用TextViewCreated()。 是否可以将外部程序集导入到IWpfTextViewCreationListener?
答案 0 :(得分:0)
我找到了解决方法。
我向GitHub上传了一段引言。