Excel添加编程
本文关键字:编程 添加 Excel | 更新日期: 2023-09-27 18:11:09
我试图了解excel添加使用c#编程。对于这样的项目,有一个名为ThisAddIn.cs的文件处理所有事件,如WorkBookOpen, WorkBookClose等。处理这样一个事件的代码是这样的-
this.Application.WorkbookOpen += new Excel.AppEvents_WorkbookOpenEventHandler(Application_WorkbookOpen);
这看起来很简单,但我不明白为什么它使用+=符号来赋值,而不仅仅是=符号。+=符号在这种类型的赋值中表示什么?它是与c#相关的东西还是与插件开发相关的东西?我也是c#的新手。如有任何帮助,不胜感激。
谢谢。
这是c#中比较奇怪的约定之一。需要知道的事情是:
- 委托是一个对象,表示调用一个或多个方法的能力。
- 两个委托的总和是第三个,当被调用时,调用它的总和。
- 当事件发生时,调用与该事件相关联的委托。
例如,如果你有:
static void M() { Console.WriteLine("Hello!"); }
static void N() { Console.WriteLine("Goodbye!"); }
...
Action foo = M;
foo(); // Hello!
Action bar = N;
bar(); // Goodbye!
Action sum = foo + bar;
sum(); // Hello! Goodbye!
foo += bar; // Same as foo = foo + bar
foo(); // Hello! Goodbye!
现在很清楚为什么+=表示"将此处理程序与事件关联"?
(顺便说一下,我写了很多Excel c#插件代码,在一天。)
+=是用于添加事件处理程序的c#约定。这里的代码意味着你将Application_WorkbookOpen函数连接到WorkbookOpenEvent。
http://msdn.microsoft.com/en-us/library/ms743596.aspx