次の方法で共有


CodeTypeDeclaration.IsPartial プロパティ

定義

型宣言が完全か部分的かを示す値を取得または設定します。

public:
 property bool IsPartial { bool get(); void set(bool value); };
public bool IsPartial { get; set; }
member this.IsPartial : bool with get, set
Public Property IsPartial As Boolean

プロパティ値

クラス宣言または構造体宣言が部分的な実装表現である場合は、true。これらの宣言がクラスまたは構造体の完全な実装である場合は、false。 既定値は、false です。

この例では、 を使用して CodeTypeDeclaration 複数の宣言間でクラス実装を指定する方法を示します。 この例では、初期クラス宣言ステートメントをビルドし、 プロパティを IsPartialtrue設定します。

CodeTypeDeclaration^ baseClass = gcnew CodeTypeDeclaration( "DocumentProperties" );
baseClass->IsPartial = true;
baseClass->IsClass = true;
baseClass->Attributes = MemberAttributes::Public;
baseClass->BaseTypes->Add( gcnew CodeTypeReference( System::Object::typeid ) );

// Add the DocumentProperties class to the namespace.
sampleSpace->Types->Add( baseClass );
            CodeTypeDeclaration baseClass = new CodeTypeDeclaration("DocumentProperties");
            baseClass.IsPartial = true;
            baseClass.IsClass = true;
            baseClass.Attributes = MemberAttributes.Public;
            baseClass.BaseTypes.Add(new CodeTypeReference(typeof(System.Object
)));

            // Add the DocumentProperties class to the namespace.
            sampleSpace.Types.Add(baseClass);
Dim baseClass As CodeTypeDeclaration = New CodeTypeDeclaration("DocumentProperties")
baseClass.IsPartial = True
baseClass.IsClass = True
baseClass.Attributes = MemberAttributes.Public
baseClass.BaseTypes.Add(New CodeTypeReference(GetType(System.Object)))

' Add the DocumentProperties class to the namespace.
sampleSpace.Types.Add(baseClass)

この例の別のメソッドは、クラスの実装を拡張します。 このメソッドは、既存のクラスの新しい型宣言ステートメントを作成し、 プロパティを IsPartialtrue設定します。 コンパイラは、完全なクラス実装のために、2 つの部分型宣言を結合します。

CodeTypeDeclaration^ baseClass = gcnew CodeTypeDeclaration( "DocumentProperties" );
baseClass->IsPartial = true;
baseClass->IsClass = true;
baseClass->Attributes = MemberAttributes::Public;

// Extend the DocumentProperties class in the unit namespace.
( *docPropUnit)->Namespaces[ 0 ]->Types->Add( baseClass );
CodeTypeDeclaration baseClass = new CodeTypeDeclaration("DocumentProperties");
baseClass.IsPartial = true;
baseClass.IsClass = true;
baseClass.Attributes = MemberAttributes.Public;

// Extend the DocumentProperties class in the unit namespace.
docPropUnit.Namespaces[0].Types.Add(baseClass);
Dim baseClass As CodeTypeDeclaration = New CodeTypeDeclaration("DocumentProperties")
baseClass.IsPartial = True
baseClass.IsClass = True
baseClass.Attributes = MemberAttributes.Public

' Extend the DocumentProperties class in the unit namespace.
docPropUnit.Namespaces(0).Types.Add(baseClass)

注釈

1 つの完全な宣言でクラスまたは構造体の実装をビルドすることも、実装を複数の宣言に分散することもできます。 実装は、通常、1 つの完全な型宣言で提供されます。 この場合、型宣言 IsPartial プロパティを に false設定します。これは、型宣言がクラスまたは構造体の実装のすべての詳細を表していることを示します。

部分型宣言を使用すると、アプリケーションのさまざまなモジュールで、クラスまたは構造体の実装のさまざまな部分を簡単に構築できます。 部分型宣言は、1 つのソース ファイルに格納することも、最終的に一緒にコンパイルされて結合された型の実装を形成する複数のソース ファイルに分散することもできます。

C# 言語では、キーワード (keyword)を介したクラスと構造体の部分型宣言がpartialサポートされています。 Visual Basic では、 キーワード (keyword)を使用したクラスと構造体の部分型宣言がPartialサポートされています。 すべてのコード ジェネレーターが部分型宣言をサポートしているわけではないため、 フラグ PartialTypesを使用して メソッドを呼び出して、このサポートをSupportsテストする必要があります。

注意

部分型宣言は、クラスと構造体でサポートされています。 列挙型またはインターフェイスに部分型宣言を指定すると、生成されたコードによってコンパイラ エラーが生成されます。

複数の宣言にわたってクラスまたは構造体の実装を指定する場合は、最初の IsPartial 宣言とすべての補足宣言の プロパティを に true 設定します。 最初の宣言では、アクセス修飾子、継承された型、実装されたインターフェイスなど、型シグネチャを完全に指定する必要があります。 補助宣言では、型シグネチャを再指定する必要はありません。 コンパイラ エラーは、通常、補助宣言で型シグネチャを再定義した場合に発生します。

Visual Studio 2005 では、部分型を使用して、ユーザーが生成したコードをデザイナー コードから分離します。 Visual Basic Windows アプリケーション プロジェクトでは、ユーザー コードは、キーワード (keyword)によってPartial修飾されていない部分クラスに配置されます。デザイナー提供のコードは、キーワード (keyword)を持つPartial部分クラスに表示されます。 C# では、ユーザー コードとデザイナー コードの両方が、キーワード (keyword)によって識別される部分クラスにpartial表示されます。

適用対象

こちらもご覧ください