Zum Fußzeileninhalt springen
Iron Academy Logo
Lernen Sie C#
Lernen Sie C#

Andere Kategorien

C# Teilweise Klasse

Partielle Klassen in C# gibt es schon seit einiger Zeit, und sie dienen einem bestimmten Zweck bei der Organisation und Verwaltung von Code. In seinem Video "Partial Classes in C# - What they are for, how to use them, and more" erklärt Tim Corey, was partielle Klassen sind, wie sie funktionieren und wann man sie verwenden sollte.

Dieser Artikel konzentriert sich auf ein gründliches Verständnis von partiellen Klassen in C# und erklärt, wie sie funktionieren, ihre Grenzen und reale Anwendungsfälle, insbesondere in Umgebungen wie Windows Forms-Anwendungen. Anhand von Tims Erkenntnissen können Entwickler lernen, wie sie partielle Klassen nutzen können, um die Codeorganisation und die Wartbarkeit zu verbessern.

Einführung

In C# ermöglicht das Konzept der partiellen Klassen die Aufteilung einer einzelnen Klassendefinition in mehrere Teile, die über verschiedene Dateien oder Codeblöcke verteilt sind. Diese Funktionalität wird in erster Linie zur Verwaltung großer oder komplexer Klassen verwendet, um die Wartbarkeit zu verbessern und eine bessere Zusammenarbeit zwischen mehreren Entwicklern zu ermöglichen. Durch die Nutzung des partial-Schlüsselworts können Entwickler Geschäftslogik-Code, Benutzeroberflächensteuerungsdefinitionen und andere komplexe Komponenten in handhabbare Teile zerlegen.

Eine partial class bezieht sich im Wesentlichen auf eine Klassendefinition, die über mehr als eine Quelldatei verteilt ist. Alle diese Teile oder Fragmente werden zur Kompilierungszeit zusammengeführt, um die vollständige Klasse zu bilden, die sich so verhält, als ob sie in einer einzigen Datei geschrieben wäre. Diese leistungsstarke Funktion kann äußerst nützlich sein, wenn mit automatisch generiertem Quellcode gearbeitet wird, da sie die Trennung von manuell geschriebenem Code von Code ermöglicht, der von Tools wie LINQ to SQL oder Designer-generiertem Code erstellt wurde.

Tim (0:00) stellt partielle Klassen vor und erklärt, dass der Zweck des Videos darin besteht, ein schnelles Verständnis dafür zu vermitteln, was partielle Klassen sind, wie sie funktionieren und wann sie zu verwenden sind.

Demo Anwendung Walk-through

Bei (0:25) beginnt Tim damit, eine neue Datei namens Demo.cs in einem Konsolenanwendungsprojekt zu erstellen. Er macht die Klasse teilweise, indem er das partial-Schlüsselwort verwendet. Dadurch kann der Kurs auf mehrere Dateien aufgeteilt werden.

// Demo.cs
public partial class Demo
{
    public void FromDemo()
    {
        Console.WriteLine("This is from Demo");
    }
}

// OtherDemo.cs
public partial class Demo
{
    public void FromOtherDemoFile()
    {
        Console.WriteLine("This is from OtherDemo file");
    }
}
// Demo.cs
public partial class Demo
{
    public void FromDemo()
    {
        Console.WriteLine("This is from Demo");
    }
}

// OtherDemo.cs
public partial class Demo
{
    public void FromOtherDemoFile()
    {
        Console.WriteLine("This is from OtherDemo file");
    }
}

Tim erklärt, dass, obwohl die Dateinamen unterschiedlich sind, die Klassennamen übereinstimmen müssen, damit sie als Teile derselben Teilklasse betrachtet werden können. Zur Kompilierungszeit kombiniert der C#-Compiler diese partiellen Klassendefinitionen zu einer einzigen Klasse.

Verwendung partieller Klassen

Tim zeigt bei (3:01), wie man die partielle Klasse in der Datei Program.cs instanziiert und verwendet.

class Program
{
    static void Main(string[] args)
    {
        Demo demo = new Demo();
        demo.FromDemo();
        demo.FromOtherDemoFile();
    }
}
class Program
{
    static void Main(string[] args)
    {
        Demo demo = new Demo();
        demo.FromDemo();
        demo.FromOtherDemoFile();
    }
}

Dieser Code zeigt, dass Methoden sowohl aus Demo.cs als auch aus OtherDemo.cs über eine einzige Instanz der Demo-Klasse zugänglich sind.

Implementierung von Schnittstellen

Tim erklärt bei (4:01), dass Schnittstellen, die in einem Teil einer partiellen Klasse implementiert sind, für die gesamte Klasse gelten. Wenn beispielsweise ein Teil der partiellen Klasse IDisposable implementiert, gilt dies für die gesamte Klasse.

// Demo.cs
public partial class Demo : IDisposable
{
    public void Dispose()
    {
        Console.WriteLine("Dispose method called");
    }
}
// Demo.cs
public partial class Demo : IDisposable
{
    public void Dispose()
    {
        Console.WriteLine("Dispose method called");
    }
}

Einschränkungen von partiellen Klassen

Tim weist bei (5:02) auf einige Einschränkungen von partiellen Klassen hin. Zum Beispiel müssen alle Teile einer partiellen Klasse die gleichen Zugriffsmodifikatoren haben. Es ist nicht möglich, dass ein Teil als public und ein anderer als internal oder private markiert ist.

Praktischer Anwendungsfall: Windows Forms

Tim (5:29) erörtert einen praktischen Anwendungsfall für partielle Klassen, insbesondere in Windows Forms-Anwendungen. Er zeigt, wie der vom Windows Forms-Designer generierte Code partielle Klassen verwendet, um den automatisch generierten Code vom benutzergeschriebenen Code zu trennen.

// Form1.cs
public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }
}

// Form1.Designer.cs
partial class Form1
{
    private void InitializeComponent()
    {
        this.SuspendLayout();
        // 
        // Form1
        // 
        this.ClientSize = new System.Drawing.Size(800, 450);
        this.Name = "Form1";
        this.ResumeLayout(false);
    }
}
// Form1.cs
public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }
}

// Form1.Designer.cs
partial class Form1
{
    private void InitializeComponent()
    {
        this.SuspendLayout();
        // 
        // Form1
        // 
        this.ClientSize = new System.Drawing.Size(800, 450);
        this.Name = "Form1";
        this.ResumeLayout(false);
    }
}

Die Trennung ermöglicht es dem Designer, den Layout-Code zu verwalten, während sich der Benutzer auf die Anwendungslogik in der Hauptformularklasse konzentrieren kann.

Wann sollten partielle Klassen verwendet werden

Abschließend geht Tim auf die typischen Szenarien ein, in denen partielle Klassen nützlich sind. Sie werden häufig in Situationen eingesetzt, in denen Code automatisch generiert wird, oder in großen Projekten, die eine saubere Trennung der Bereiche erfordern. Ein Beispiel ist der automatisch generierte Code, wie der Windows Forms Designer Code, bei dem die Trennung des Layout-Codes von der Anwendungslogik Konflikte verhindert und die Wartung erleichtert.

Er erwähnt auch, dass partielle Klassen zwar in manchen Situationen hilfreich sein können, aber im Entwicklungsalltag nicht häufig verwendet werden.

Zusammenfassung

Abschließend betont Tim, dass partielle Klassen zwar nützlich sein können, aber nicht häufig benötigt werden. Sie sind vor allem in Szenarien von Vorteil, in denen es um Codegenerierung geht, oder wenn mit großen, automatisch generierten Codebasen gearbeitet wird, wie z. B. in Windows Forms-Anwendungen.

Abschluss

Tim Coreys Video über partielle Klassen bietet einen klaren und aufschlussreichen Überblick über dieses C#-Feature und zeigt, wie partielle Klassen helfen können, Code effektiv zu organisieren und zu verwalten. Anhand praktischer Beispiele hebt er die Vorteile der Aufteilung einer Klasse auf mehrere Dateien hervor und erklärt, wann partielle Klassen am nützlichsten sind, z. B. in Szenarien mit automatisch generiertem Code oder großen Anwendungen.

Hero Worlddot related to C# Teilweise Klasse
Hero Affiliate related to C# Teilweise Klasse

Verdienen Sie mehr, indem Sie teilen, was Sie lieben

Erstellen Sie Inhalte für Entwickler, die mit .NET, C#, Java, Python oder Node.js arbeiten? Verwandeln Sie Ihr Fachwissen in ein zusätzliches Einkommen!

Iron-Support-Team

Wir sind 24 Stunden am Tag, 5 Tage die Woche online.
Chat
E-Mail
Rufen Sie mich an