C# 试图理解microsoft教程中有关Word加载项的特定部分代码
这是完整的代码。据我所知,它应该启动外接程序,检查文档是否可用。我难以理解的是:C# 试图理解microsoft教程中有关Word加载项的特定部分代码,c#,ms-word,vsto,C#,Ms Word,Vsto,这是完整的代码。据我所知,它应该启动外接程序,检查文档是否可用。我难以理解的是: private void ThisAddIn_Startup(object sender, System.EventArgs e) { this.Application.DocumentOpen += new Word.ApplicationEvents4_DocumentOpenEventHandler(WorkWithDocument); ((Word.Applicati
private void ThisAddIn_Startup(object sender, System.EventArgs e)
{
this.Application.DocumentOpen +=
new Word.ApplicationEvents4_DocumentOpenEventHandler(WorkWithDocument);
((Word.ApplicationEvents4_Event)this.Application).NewDocument +=
new > Word.ApplicationEvents4_NewDocumentEventHandler(WorkWithDocument);
}
private void WorkWithDocument(Microsoft.Office.Interop.Word.Document Doc)
{
try
{
Word.Range rng = Doc.Range(0, 0);
rng.Text = "New Text";
rng.Select();
}
catch (Exception ex)
{
// Handle exception if for some reason the document is not available.
}
}
我不明白的是(Word.ApplicationEvents4\u事件)
就在这个.Application
之前。这是类似于typecast的事件吗?我不知道 它是一个接口,因此代码正在将此.Application
投射到该接口
相关文档对此进行了解释:
这是一个从所需的COM类派生的.NET接口
通过托管代码实现与相应COM的互操作性
对象使用此派生接口访问所有方法、属性和
COM对象的事件成员但是,如果您选择了某个方法或事件
要在同一COM对象下使用相同名称的共享,请强制转换为
调用该方法的相应主接口,并强制转换为
连接到事件的最新事件界面。请参阅此
主题以获取有关COM对象的信息。有关
COM对象的方法和属性成员,请参阅应用程序。对于
有关COM对象的事件成员的信息,请参阅
ApplicationEvents4\u事件
除了欧文的回答之外: ApplicationEvents4\u事件。新文档事件 在创建新文档时发生 因此,当打开文档时(从第一个事件订阅)以及创建新文档时(从第二个事件订阅),将调用WorkWithDocument方法 +=只订阅这些事件并告诉它们调用您的方法
((Word.ApplicationEvents4_Event)this.Application).NewDocument ...