C # Partial Class e Partial Method (con esempi)

In questo articolo impareremo come e perché la classe parziale e i metodi parziali possono essere implementati in C #.

Ci sono molte situazioni in cui potrebbe essere necessario dividere una definizione di classe, ad esempio quando si lavora su progetti su larga scala, più sviluppatori e programmatori potrebbero dover lavorare sulla stessa classe contemporaneamente. In questo caso possiamo usare una funzionalità chiamata Partial Class .

Introduzione alla lezione parziale

Durante la programmazione in C # (o OOP), possiamo suddividere la definizione di una classe su due o più file sorgente. I file di origine contengono una sezione della definizione di classe e tutte le parti vengono combinate quando l'applicazione viene compilata. Per dividere una definizione di classe, dobbiamo usare la partialparola chiave.

Esempio 1:

Abbiamo un progetto chiamato come HeightWeightInfoche mostra altezza e peso.

Abbiamo un file denominato as File1.cscon una classe parziale denominata Record. Ha due variabili intere h & w e un metodo / costruttore chiamato Record che assegna i valori di h & w.

 namespace HeightWeightInfo ( class File1 ( ) public partial class Record ( private int h; private int w; public Record(int h, int w) ( this.h = h; this.w = w; ) ) )

Ecco un altro file denominato File2.cs con la stessa classe parziale Record che ha solo il metodo PrintRecord. Questo metodo visualizzerà i valori di h & w.

 namespace HeightWeightInfo ( class File2 ( ) public partial class Record ( public void PrintRecord() ( Console.WriteLine("Height:"+ h); Console.WriteLine("Weight:"+ w); ) ) )

Qui ora possiamo vedere il metodo principale del progetto:

 namespace HeightWeightInfo ( class Program ( static void Main(string() args) ( Record myRecord = new Record(10, 15); myRecord.PrintRecord(); Console.ReadLine(); ) ) )

Qui abbiamo l'oggetto della classe Record come myRecord che sta passando i valori dei parametri come 10 e 15 rispettivamente a he w al metodo definito in File1.cs.

Il metodo PrintRecord viene chiamato dall'oggetto myRecord che è definito nel file File2.cs.

Ciò mostra che la partialparola chiave aiuta a combinare tutti gli attributi di una classe definita in vari file per lavorare come una singola classe.

Luoghi in cui partialè possibile utilizzare la lezione:

  1. Mentre si lavora su progetti più grandi con più di uno sviluppatore, aiuta gli sviluppatori a lavorare contemporaneamente sulla stessa classe.
  2. I codici possono essere aggiunti o modificati alla classe senza ricreare i file sorgente che vengono generati automaticamente dall'IDE (cioè Visual Studio).

Cose da ricordare sulla lezione parziale

La partialparola chiave specifica che altre parti della classe possono essere definite nello spazio dei nomi. È obbligatorio utilizzare la parola chiave parziale se stiamo cercando di rendere parziale una classe. Tutte le parti della classe dovrebbero essere nello stesso spazio dei nomi e disponibili in fase di compilazione per formare il tipo finale. Tutte le parti devono avere lo stesso modificatore di accesso, ovvero privato, pubblico o così via.

  • Se una parte viene dichiarata astratta, l'intero tipo viene considerato astratto.
  • Se una parte è dichiarata sigillata, l'intero tipo è considerato sigillato.
  • Se una parte qualsiasi dichiara un tipo di base, l'intero tipo eredita quella classe.
  • Qualsiasi membro della classe dichiarato in una definizione parziale è disponibile per tutte le altre parti.
  • Tutte le parti di una classe parziale dovrebbero trovarsi nello stesso spazio dei nomi.

** Nota: il partialmodificatore non è disponibile nelle dichiarazioni di delegato o enumerazione

Introduzione ai metodi parziali

Una classe parziale può contenere un metodo parziale. Una parte della classe contiene la firma del metodo. Un'implementazione opzionale può essere definita nella stessa parte o in un'altra parte. Se l'implementazione non viene fornita, il metodo e tutte le chiamate vengono rimosse in fase di compilazione.

Esempio 2:

Facciamo un esempio come una classe parziale Cardefinita in file1.cscui ha tre metodi InitializeCar (), BuildRim () e BuildWheels (). Tra questi metodi, InitializeCar è definito come partial.

 public partial class Car ( partial void InitializeCar(); public void BuildRim() ( ) public void BuildWheels() ( ) )

E abbiamo un altro file chiamato come file2.csche ha due metodi BuildEngine e InitializeCar. Il metodo InitializeCar è un metodo parziale definito anche in file1.cs.

 public partial class Car ( public void BuildEngine() ( ) partial void InitializeCar() ( string str = "Car"; ) )

Una dichiarazione di metodo parziale è composta da due parti:

  1. La definizione come in file1.cs.
  2. L'implementazione come in file2.cs.

Possono trovarsi in parti separate della classe parziale o nella stessa parte.

Cose da ricordare sul metodo parziale

  • partial parola chiave.
  • tipo restituito void .
  • implicitamente private.
  • e non può essere virtual.

Articoli interessanti...