CodeTypeDeclaration.IsPartial Proprietà

Definizione

Ottiene o imposta un valore che indica se la dichiarazione del tipo è completa o parziale.

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

Valore della proprietà

true se la dichiarazione della classe o della struttura è una rappresentazione parziale dell'implementazione; false se la dichiarazione è un'implementazione completa della classe o della struttura. Il valore predefinito è false.

Esempio

In questo esempio viene illustrato l'uso di per CodeTypeDeclaration fornire un'implementazione di classe tra più dichiarazioni. Nell'esempio viene compilata l'istruzione di dichiarazione della classe iniziale e la proprietà viene IsPartial impostata su 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)

Un metodo diverso nell'esempio estende l'implementazione della classe. Questo metodo compila una nuova istruzione di dichiarazione di tipo per la classe esistente e imposta la IsPartial proprietà su true. Il compilatore combina le due dichiarazioni di tipo parziale per l'implementazione completa della classe.

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)

Commenti

È possibile compilare un'implementazione di classe o struttura in una dichiarazione completa o distribuire l'implementazione tra più dichiarazioni. Le implementazioni vengono in genere fornite in una dichiarazione di tipo completa. In questo caso, impostare la proprietà di dichiarazione IsPartial del tipo su false, che indica che la dichiarazione di tipo rappresenta tutti i dettagli per l'implementazione della classe o della struttura.

Una dichiarazione di tipo parziale semplifica la compilazione di parti diverse di un'implementazione di classe o struttura in moduli diversi dell'applicazione. Le dichiarazioni di tipo parziale possono essere archiviate in un unico file di origine o distribuite tra più file di origine che vengono infine compilate insieme per formare l'implementazione combinata del tipo.

Il linguaggio C# supporta dichiarazioni di tipi parziali di classi e strutture tramite la partial parola chiave . Visual Basic supporta dichiarazioni di tipi parziali di classi e strutture con la Partial parola chiave . Non tutti i generatori di codice supportano dichiarazioni di tipo parziale, pertanto è consigliabile testare questo supporto chiamando il Supports metodo con il flag PartialTypes.

Nota

Le dichiarazioni di tipo parziale sono supportate per classi e strutture. Se si specifica una dichiarazione di tipo parziale per un'enumerazione o un'interfaccia, il codice generato genera errori del compilatore.

Quando si specifica un'implementazione di classe o struttura in più dichiarazioni, impostare la IsPartial proprietà su true per la dichiarazione iniziale e tutte le dichiarazioni supplementari. La dichiarazione iniziale deve specificare completamente la firma del tipo, inclusi modificatori di accesso, tipi ereditati e interfacce implementate. Le dichiarazioni supplementari non devono specificare nuovamente la firma del tipo. Un errore del compilatore restituisce in genere se si ridefinirà la firma del tipo in una dichiarazione supplementare.

Visual Studio 2005 usa tipi parziali per separare il codice generato dall'utente dal codice della finestra di progettazione. Nei progetti applicazione Windows di Visual Basic, il codice utente viene inserito in una classe parziale non qualificata dalla parola chiave. Il codice fornito dalla Partial finestra di progettazione viene visualizzato nella classe parziale con la Partial parola chiave . In C# il codice utente e il codice della finestra di progettazione vengono visualizzati in classi parziali identificate dalla partial parola chiave .

Si applica a

Vedi anche