1

Visual Studio 2010、C#、.Net 4.0 を使用しています。Excel 2007 アドイン プロジェクト。

ThisAddInアドイン プロジェクトでクラスの 2 つの異なる宣言が表示されるのはなぜですか?

a) ThisAddIn.cs ファイルの最初のもの

public partial class ThisAddIn

b) ThisAddIn.Designer.cs ファイルの 2 番目のもの

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

これら 2 つの宣言はどのように相互に関連していますか? 本当に 2 つの別個のクラスを指定しているのか、それとも本質的に 1 つのクラスを定義しているのか?

ThisAddIn.Designer.cs ファイルを下にスクロールすると、次の行が表示されます。

internal sealed partial class Globals {


        private Globals() {
        }

        private static ThisAddIn _ThisAddIn;

        .....    
}

ラインで使用されているクラス (上記の 2 つのうち) はどれprivate static ThisAddIn _ThisAddIn;ですか?

助けてくれてありがとう!

4

1 に答える 1

2

これは部分クラスです。つまり、複数のソース ファイルで定義されます。これらはコンパイル時に結合され、実際のクラスは 1 つだけになります。

この手法は、自動生成されたコードを 1 つのファイル (.Designer.csファイル) に配置し、独自のコードを別のファイルに配置するためによく使用されます。

詳細: http://msdn.microsoft.com/en-us/library/wa80x488(v=vs.90).aspx

于 2013-11-05T22:35:41.650 に答える