C# Teilklasse und Teilmethode
Partielle C#-Klasse und partielle Methode
In diesem Artikel erfahren wir, wie und warum partielle Klassen und partielle Methoden in C# implementiert werden.
Es gibt viele Situationen, in denen Sie eine Klassendefinition möglicherweise aufteilen müssen, z. B. wenn Sie an umfangreichen Projekten arbeiten und mehrere Entwickler und Programmierer möglicherweise gleichzeitig an derselben Klasse arbeiten müssen. In diesem Fall können wir eine Funktion namens Partial Class verwenden .
Einführung in die Teilklasse
Beim Programmieren in C# (oder OOP) können wir die Definition einer Klasse auf zwei oder mehr Quelldateien aufteilen. Die Quelldateien enthalten einen Abschnitt der Klassendefinition, und alle Teile werden kombiniert, wenn die Anwendung kompiliert wird. Um eine Klassendefinition aufzuteilen, müssen wir den partial
verwenden Schlüsselwort.
Beispiel 1:
Wir haben ein Projekt namens HeightWeightInfo
die Größe und Gewicht anzeigt.
Wir haben eine Datei namens File1.cs
mit einer partiellen Klasse namens Record . Es hat zwei Integer-Variablen h &w und eine Methode/Konstruktor namens Record die die Werte von h zuweist &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;
}
}
}
Hier ist eine weitere Datei namens File2.cs mit derselben Teilklasse Record die nur die Methode PrintRecord hat . Diese Methode zeigt die Werte von h an &w .
namespace HeightWeightInfo
{
class File2
{
}
public partial class Record
{
public void PrintRecord()
{
Console.WriteLine("Height:"+ h);
Console.WriteLine("Weight:"+ w);
}
}
}
Hier sehen wir jetzt die Hauptdatei Methode des Projekts:
namespace HeightWeightInfo
{
class Program
{
static void Main(string[] args)
{
Record myRecord = new Record(10, 15);
myRecord.PrintRecord();
Console.ReadLine();
}
}
}
Hier haben wir das Objekt der Klasse Record als myRecord die die Parameterwerte als 10 und 15 an h übergibt und w bzw. auf die in File1.cs
definierte Methode .
Die Methode PrintRecord wird vom Objekt myRecord aufgerufen die in File2.cs
definiert ist .
Dies zeigt, dass die partial
Schlüsselwort hilft, alle Attribute einer Klasse, die in verschiedenen Dateien definiert sind, zu kombinieren, um als eine einzige Klasse zu funktionieren.
Orte, an denen partial
Klasse verwendet werden:
- Bei der Arbeit an größeren Projekten mit mehr als einem Entwickler hilft es den Entwicklern, gleichzeitig an derselben Klasse zu arbeiten.
- Codes können der Klasse hinzugefügt oder geändert werden, ohne Quelldateien neu zu erstellen, die automatisch von der IDE (d. h. Visual Studio) generiert werden.
Dinge, die Sie sich über die Teilklasse merken sollten
Die partial
Schlüsselwort geben an, dass andere Teile der Klasse im Namensraum definiert werden können. Es ist zwingend erforderlich, das Schlüsselwort partial zu verwenden, wenn wir versuchen, eine Klasse partiell zu machen. Alle Teile der Klasse sollten sich im selben Namespace befinden und zur Kompilierzeit verfügbar sein, um den endgültigen Typ zu bilden. Alle Teile müssen denselben Zugriffsmodifikator haben, d. h. privat, öffentlich usw.
- Wenn irgendein Teil als abstrakt deklariert wird, dann wird der ganze Typ als abstrakt angesehen.
- Wenn ein Teil als versiegelt deklariert wird, gilt der gesamte Typ als versiegelt.
- Wenn irgendein Teil einen Basistyp deklariert, dann erbt der ganze Typ diese Klasse.
- Jeder Klassenmember, der in einer partiellen Definition deklariert ist, steht allen anderen Teilen zur Verfügung.
- Alle Teile einer partiellen Klasse sollten sich im selben Namensraum befinden.
**Hinweis: Die partial
Modifikator ist für Delegierten- oder Aufzählungsdeklarationen nicht verfügbar
Einführung in partielle Methoden
Eine partielle Klasse kann eine partielle Methode enthalten. Ein Teil der Klasse enthält die Signatur der Methode. Eine optionale Implementierung kann im selben Teil oder einem anderen Teil definiert werden. Wenn die Implementierung nicht bereitgestellt wird, werden die Methode und alle Aufrufe zur Kompilierzeit entfernt.
Beispiel 2:
Nehmen wir ein Beispiel als partielle Klasse Car
definiert in file1.cs
die drei Methoden hat InitializeCar (), BuildRim () und BuildWheels (). Unter diesen Methoden ist InitializeCar ist definiert als partial
.
public partial class Car
{
partial void InitializeCar();
public void BuildRim() { }
public void BuildWheels() { }
}
Und wir haben eine weitere Datei mit dem Namen file2.cs
die zwei Methoden hat BuildEngine und Auto initialisieren . Die Methode InitializeCar ist eine partielle Methode, die auch in file1.cs
definiert ist .
public partial class Car
{
public void BuildEngine() { }
partial void InitializeCar()
{
string str = "Car";
}
}
Eine partielle Methodendeklaration besteht aus zwei Teilen:
- Die Definition wie in
file1.cs
. - Die Implementierung wie in
file2.cs
.
Sie können sich in getrennten Teilen der partiellen Klasse oder im selben Teil befinden.
Dinge, die Sie sich über die partielle Methode merken sollten
partial
Schlüsselwort.- geben Sie
void
zurück . - implizit
private
. - und darf nicht
virtual
sein .
C Sprache
- C#-Klasse und -Objekt
- Abstrakte C#-Klasse und -Methode
- Versiegelte C#-Klasse und -Methode
- C++-Klassen und -Objekte
- C++ Friend-Funktion und Friend-Klassen
- Java - Objekt und Klassen
- C# - Vererbung
- C# - Polymorphismus
- ASTM A729 Klasse A doppelt normalisiert und angelassen
- ASTM A649 Klasse 2 normalisiert und angelassen