AddInBase类:一个类的两个声明

时间:2013-11-05 22:33:23

标签: c# add-in office-interop excel-interop excel-addins

我使用Visual Studio 2010,C#,。Net 4.0; Excel 2007加载项项目。

为什么我在加载项项目中看到类ThisAddIn的两个不同声明?

a)文件ThisAddIn.cs中的第一个

public partial class ThisAddIn

b)文件ThisAddIn.Designer.cs中的第二个

public sealed partial class ThisAddIn : Microsoft.Office.Tools.AddInBase

这两个声明是如何相互关联的?它是否真的指定了两个单独的类,或者它实质上定义了一个类?

当我向下滚动文件ThisAddIn.Designer.cs时,我看到以下几行:

internal sealed partial class Globals {


        private Globals() {
        }

        private static ThisAddIn _ThisAddIn;

        .....    
}

private static ThisAddIn _ThisAddIn;行中使用了哪个类(上面提到的两个类)?

非常感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

这是一个部分类,这意味着它将在多个源文件中定义。它们在编译期间被合并,并且只产生一个实际的类。

此技术通常用于允许自动生成的代码位于一个文件(.Designer.cs文件)中,而您自己的代码位于另一个文件中。

更多信息:http://msdn.microsoft.com/en-us/library/wa80x488(v=vs.90).aspx