CodeTypeDeclaration.IsPartial Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera lub ustawia wartość wskazującą, czy deklaracja typu jest kompletna, czy częściowa.
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
Wartość właściwości
true
jeśli deklaracja klasy lub struktury jest częściową reprezentacją implementacji; false
jeśli deklaracja jest kompletną implementacją klasy lub struktury. Wartość domyślna to false
.
Przykłady
W tym przykładzie pokazano użycie metody w CodeTypeDeclaration celu dostarczenia implementacji klasy w wielu deklaracjach. Przykład kompiluje początkową instrukcję deklaracji klasy i ustawia IsPartial właściwość na true
.
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)
Inna metoda w przykładzie rozszerza implementację klasy. Ta metoda tworzy nową instrukcję deklaracji typu dla istniejącej klasy i ustawia IsPartial właściwość na true
. Kompilator łączy ze sobą dwie częściowe deklaracje typu dla pełnej implementacji klasy.
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)
Uwagi
Implementację klasy lub struktury można utworzyć w jednej pełnej deklaracji lub rozłożyć implementację na wiele deklaracji. Implementacje są często dostarczane w jednej pełnej deklaracji typu. W tym przypadku ustaw właściwość deklaracji IsPartial typu na false
, która wskazuje, że deklaracja typu reprezentuje wszystkie szczegóły implementacji klasy lub struktury.
Częściowa deklaracja typu ułatwia tworzenie różnych części implementacji klasy lub struktury w różnych modułach aplikacji. Częściowe deklaracje typów mogą być przechowywane w jednym pliku źródłowym lub rozłożone na wiele plików źródłowych, które ostatecznie są kompilowane razem w celu utworzenia implementacji połączonego typu.
Język C# obsługuje częściowe deklaracje typów klas i struktur za pomocą słowa kluczowego partial
. Język Visual Basic obsługuje częściowe deklaracje typów klas i struktur ze Partial
słowem kluczowym. Nie wszystkie generatory kodu obsługują częściowe deklaracje typów, dlatego należy przetestować tę obsługę, wywołując metodę Supports z flagą PartialTypes.
Uwaga
Częściowe deklaracje typów są obsługiwane dla klas i struktur. Jeśli określisz częściową deklarację typu dla wyliczenia lub interfejsu, wygenerowany kod generuje błędy kompilatora.
Podczas podawania implementacji klasy lub struktury w wielu deklaracjach ustaw IsPartial właściwość na true
wartość dla początkowej deklaracji i wszystkich deklaracji uzupełniających. Początkowa deklaracja musi w pełni określać podpis typu, w tym modyfikatory dostępu, dziedziczone typy i zaimplementowane interfejsy. Deklaracje uzupełniające nie muszą ponownie określać podpisu typu. Błąd kompilatora zazwyczaj powoduje ponowne zdefiniowanie podpisu typu w deklaracji dodatkowej.
Program Visual Studio 2005 używa typów częściowych do oddzielenia kodu wygenerowanego przez użytkownika od kodu projektanta. W projektach aplikacji systemu Windows w języku Visual Basic kod użytkownika jest umieszczany w klasie częściowej, która nie jest kwalifikowana przez słowo kluczowe. Kod dostarczony przez Partial
projektanta jest wyświetlany w klasie częściowej zawierającej Partial
słowo kluczowe. W języku C#kod użytkownika i kod projektanta są wyświetlane w klasach częściowych identyfikowanych przez partial
słowo kluczowe.