CodeTypeDeclaration.IsPartial Egenskap

Definition

Hämtar eller anger ett värde som anger om typdeklarationen är fullständig eller partiell.

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

Egenskapsvärde

true om klass- eller strukturdeklarationen är en partiell representation av implementeringen. false om deklarationen är en fullständig implementering av klassen eller strukturen. Standardvärdet är false.

Exempel

Det här exemplet visar hur du använder en CodeTypeDeclaration för att tillhandahålla en klassimplementering i flera deklarationer. I exemplet skapas den första klassdeklarationsinstrukeringen och egenskapen anges IsPartial till true.

            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)

En annan metod i exemplet utökar klassimplementeringen. Den här metoden skapar en ny typdeklarationssats för den befintliga klassen och anger IsPartial egenskapen till true. Kompilatorn kombinerar de två partiella typdeklarationerna tillsammans för den fullständiga klassimplementeringen.

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)

Kommentarer

Du kan skapa en klass- eller strukturimplementering i en fullständig deklaration eller sprida implementeringen över flera deklarationer. Implementeringar tillhandahålls ofta i en fullständig typdeklaration. I det här fallet anger du typdeklarationsegenskapen IsPartial till false, vilket anger att typdeklarationen representerar all information för klass- eller strukturimplementeringen.

En partiell typdeklaration gör det enklare att skapa olika delar av en klass- eller strukturimplementering i olika moduler i ditt program. De partiella typdeklarationerna kan lagras i en källfil eller spridas över flera källfiler som så småningom kompileras tillsammans för att bilda den kombinerade typimplementeringen.

C#-språket stöder partiella typdeklarationer av klasser och strukturer via nyckelordet partial . Visual Basic stöder partiella typdeklarationer av klasser och strukturer med nyckelordet Partial. Alla kodgeneratorer stöder inte partiella typdeklarationer, så du bör testa för det här stödet genom att anropa Supports metoden med flaggan PartialTypes.

Note

Partiella typdeklarationer stöds för klasser och strukturer. Om du anger en partiell typdeklaration för en uppräkning eller ett gränssnitt genererar den genererade koden kompilatorfel.

När du tillhandahåller en klass- eller strukturimplementering i flera deklarationer anger du IsPartial egenskapen till true för den första deklarationen och alla kompletterande deklarationer. Den första deklarationen måste helt ange typsignaturen, inklusive åtkomstmodifierare, ärvda typer och implementerade gränssnitt. Tilläggsdeklarationerna behöver inte ange typsignaturen igen. Ett kompilatorfel resulterar vanligtvis om du omdefinierar typsignaturen i en tilläggsdeklaration.

Visual Studio 2005 använder partiella typer för att separera användargenererad kod från designerkod. I Visual Basic Windows Programprojekt placeras användarkoden i en partiell klass som inte är kvalificerad av nyckelordet Partial. Den kod som tillhandahålls av designern visas i den partiella klass som har nyckelordet Partial. I C# visas både användarkoden och designerkoden i partiella klasser som identifieras av nyckelordet partial .

Gäller för

Se även