IRONSOFTWAREHOME
ENTWICKLER-UPDATES

C# Partial (Funktionsweise für Entwickler)

Jacob Mellor, Chief Technology Officer @ Team Iron
Jacob Mellor
Updated: 21. April 2026

C# bietet eine einzigartige Funktion, die die Organisation und Verwaltung von Code in größeren Projekten verbessert: die Teilklasse durch das Schlüsselwort partial. Dieses Merkmal, auf das über den teilweisen Modifikator zugegriffen wird, ermöglicht es Entwicklern, die Definition einer Klasse, eines Interface oder einer Struktur auf mehrere Dateien aufzuteilen. Diese Fähigkeit ist besonders vorteilhaft für die Arbeit mit bereits generiertem Quellcode, wie Benutzeroberflächenkontrolldefinitionen oder Dienst-Wrapper-Code, zusammen mit benutzerdefinierter Geschäftslogik. In diesem Artikel lernen wir über partielle Klassen und die IronPDF PDF-Bibliothek für .NET mithilfe von Visual Studio.

Verständnis der partiellen Klasse

Eine partielle Klasse, die das gleiche Zugriffslevel beibehält, wird mit dem partiellen Modifikator in C# definiert, was darauf hinweist, dass die Klassendefinition über zwei oder mehr Dateien innerhalb derselben Assembly verteilt ist. Dieser Ansatz hält zusammengehörigen Code zusammen, während die Trennung von Belangen aufrechterhalten wird. Ein Beispiel: Eine partielle Klasse Mitarbeiter könnte in einer Datei ihre Geschäftslogik und in einer anderen ihre Datenzugriffsschicht haben, doch beide Teile werden in eine einzelne Klasse kompiliert. Diese Trennung macht den Code nicht nur besser handhabbar, sondern erlaubt auch mehreren Entwicklern, an derselben Klasse zu arbeiten, ohne Konflikte.

// File 1: Employee_BusinessLogic.cs
public partial class Employee
{
    // Method for calculating pay
    public void CalculatePay() 
    { 
        // Implementation of pay calculation
    }
}

// File 2: Employee_DataAccess.cs
public partial class Employee
{
    // Method for loading employee data
    public void Load() 
    { 
        // Implementation of data loading
    }
}

Partielle Methoden nutzen

Partielle Klassen können auch partielle Methoden definieren, die deklariert, aber nicht zwingend implementiert werden müssen. Diese Methoden ermöglichen Szenarien, in denen ein Teil der Klasse eine Methode deklarieren kann, ohne sie zu implementieren, wobei ein anderer Teil der Klasse sie optional implementieren kann. Wenn keine Implementierung bereitgestellt wird, wird der Teilmethodenaufruf zur Compile-Zeit entfernt, wodurch keine Leistungsstrafe entsteht.

// File 1: Employee_BusinessLogic.cs
public partial class Employee
{
    // Declaration of a partial method to be called when pay is calculated
    partial void OnPayCalculated(double amount);

    public void CalculatePay()
    {
        double amount = 1000; // Simplified calculation
        OnPayCalculated(amount); // Call the partial method
    }
}

// File 2: Employee_Events.cs
public partial class Employee
{
    // Implementation of the partial method
    partial void OnPayCalculated(double amount)
    {
        Console.WriteLine($"Pay calculated: {amount}");
    }
}

Fortgeschrittene Verwendung von Partialmethoden

Partielle Methoden, die einen Ansatz für partielle Definitionen darstellen, ermöglichen eine Deklaration in einem Teil einer teilweisen Klasse und eine optionale Implementierung in einem anderen. Dieses Merkmal ist besonders nützlich, um Haken in generiertem Code bereitzustellen, die optional von Entwicklern implementiert werden können. Das partielle Schlüsselwort zeigt an, dass die Methode möglicherweise eine Implementierung hat oder nicht.

Betrachten wir ein Beispiel, bei dem eine UI-Komponente eine Aktion vor dem Laden eines Benutzeroberflächenkontrollens durchführen muss. Die partielle Methode bietet eine saubere Möglichkeit, benutzerdefinierte Geschäftslogik einzufügen, ohne den automatisch generierten Code zu überladen.

// File: UIControls_AutoGenerated.cs
public partial class UIControls
{
    // Declaration of a partial method for control loading
    partial void OnControlLoading();

    public void LoadControl()
    {
        OnControlLoading(); // Call the partial method
        // Auto-generated loading logic here
    }
}

// File: UIControls_CustomLogic.cs
public partial class UIControls
{
    // Implementation of the partial method for adding custom logic
    partial void OnControlLoading()
    {
        // Custom business logic code here
        Console.WriteLine("Custom control loading logic executed.");
    }
}

Integration von Geschäftslogik mit partiellen Klassen

Geschäftslogik erfordert oft Modifikation und Erweiterung über das hinaus, was automatisch generiert wird, insbesondere in Anwendungen mit komplexen Regeln oder Verhalten. Partielle Klassen bieten eine nahtlose Möglichkeit, Geschäftslogik in einer separaten Quelldatei einzuschließen, ohne den automatisch generierten UI- oder Datenzugriffscode zu verändern. Diese Trennung stellt sicher, dass die Geschäftslogik leicht zugänglich und veränderbar durch Entwickler ist, was die Zusammenarbeit verbessert, insbesondere, wenn mehr als ein Entwickler an dem Projekt arbeitet.

// File: Employee_AutoGenerated.cs
public partial class Employee
{
    // Auto-generated properties and methods
}

// File: Employee_BusinessLogic.cs
public partial class Employee
{
    // Business logic method for promoting an employee
    public void Promote()
    {
        // Business logic code to promote an employee
        Console.WriteLine("Employee promoted.");
    }
}

Teiltypen verschachteln

Verschachtelte partielle Typen erweitern das Konzept der partiellen Klassen auf verschachtelte Klassen, wodurch Teile einer verschachtelten Klasse in separaten Dateien definiert werden können. Dies kann besonders nützlich sein, um große verschachtelte Strukturen zu organisieren, wie eine komplexe Definition einer Benutzeroberflächensteuerung, die mehrere verschachtelte Typen für die Handhabung verschiedener Aspekte des Verhaltens der Steuerung umfasst.

// File: ComplexControl_Part1.cs
public partial class ComplexControl
{
    public partial class NestedControl
    {
        // Method for initializing the nested control
        public void Initialize() 
        { 
            // Initialization code here 
        }
    }
}

// File: ComplexControl_Part2.cs
public partial class ComplexControl
{
    public partial class NestedControl
    {
        // Method for cleaning up the nested control
        public void Cleanup() 
        { 
            // Cleanup code here 
        }
    }
}

Praktische Anwendungen

Partielle Klassen sind besonders von Vorteil in Szenarien, die automatisch generierten Quellcode umfassen, wie Formulare, bei denen Visual Studio Windows Forms erstellt. Diese Einrichtung ermöglicht es Entwicklern, UI-Design-Code in einer separaten Quelldatei zu halten, wodurch sie die Klasse erweitern oder ändern können, ohne das ursprüngliche UI-Design zu beeinträchtigen.

In Webanwendungen erleichtern partielle Klassen die Trennung von generiertem Webdienst-Wrapper-Code von benutzerdefinierter Geschäftslogik und stellen sicher, dass Updates der Webdienste keine benutzerdefinierten Änderungen überschreiben. Ähnlich erzeugen in Anwendungen, die LINQ to SQL verwenden, dbml-Dateien partielle Klassendefinitionen, die erweitert werden können, um zusätzliche Funktionalität oder Geschäftslogik ohne Änderung des automatisch generierten Codes einzuschließen.

// Auto-generated UI class
public partial class MainForm : Form
{
    // Designer code
}

// Custom logic for MainForm
public partial class MainForm
{
    // Custom event handlers and methods
}

IronPDF: C# PDF-Bibliothek

C# Teilweise (Wie es für Entwickler funktioniert): Abbildung 1 - IronPDF

IronPDF ist eine umfassende Bibliothek für .NET, die es Entwicklern ermöglicht, PDF-Dokumente in ihren Anwendungen zu erstellen, zu lesen und zu bearbeiten. Es bietet einen einfachen Ansatz zur Erzeugung von PDFs aus HTML mit IronPDF, URLs, Bildern, ASPX und Text, was es zu einem vielseitigen Werkzeug für Berichterstellung, Dokumentenerzeugung und Web-Inhaltsarchivierung macht. IronPDF besticht durch seine Benutzerfreundlichkeit, da es nur minimalen Aufwand erfordert, um in jedes .NET-Projekt integriert zu werden, einschließlich in C# entwickelten Anwendungen.

Integration von IronPDF mit partiellen Klassen

Um die Integration von IronPDF mit partiellen Klassen zu veranschaulichen, betrachten wir ein Beispiel, bei dem wir eine Webanwendung haben, die Berichte im PDF-Format generiert. Wir teilen die Funktionalität auf partielle Klassendateien auf, um unsere Geschäftslogik von unserer PDF-Erzeugungslogik zu trennen.

Einrichten von IronPDF

Stellen Sie sicher, dass IronPDF Ihrem Projekt hinzugefügt ist. Dies kann in der Regel über den NuGet-Paket-Manager mit dem Befehl erfolgen:

PM > Install-Package IronPdf

Erstellen der partiellen Klasse für die Berichterstellung

Wir teilen unsere Klasse in zwei Teile: einen für die Geschäftslogik in Bezug auf Berichtsdaten und einen anderen für die PDF-Erzeugung mit IronPDF.

File 1: ReportGenerator_BusinessLogic.cs

Diese Datei enthält die Geschäftslogik für die Vorbereitung der Daten für den Bericht.

public partial class ReportGenerator
{
    // Method to get data for the report
    public IEnumerable<string> GetDataForReport()
    {
        // Imagine this method fetches and prepares data for the report
        return new List<string> { "Data1", "Data2", "Data3" };
    }
}

File 2: ReportGenerator_PdfGeneration.cs

Diese Datei verwendet IronPDF, um einen PDF-Bericht aus den vorbereiteten Daten zu erstellen.

public partial class ReportGenerator
{
    // Method to generate PDF report using IronPDF
    public void GeneratePdfReport()
    {
        var renderer = new IronPdf.ChromePdfRenderer();
        var data = GetDataForReport();
        var htmlContent = $"<html><body><h1>Report</h1><p>{string.Join("</p><p>", data)}</p></body></html>";

        // Generate PDF from HTML string
        var pdf = renderer.RenderHtmlAsPdf(htmlContent);
        
        // Save the PDF to a file
        pdf.SaveAs("Report.pdf");
        Console.WriteLine("Report generated successfully.");
    }
}

Nutzung

Mit dem partiellen Klassensetup wird die Erstellung eines PDF-Berichts zu einer Frage des Aufrufs der GeneratePdfReport-Methode auf einer Instanz der ReportGenerator-Klasse.

var reportGenerator = new ReportGenerator();
reportGenerator.GeneratePdfReport();

C# Teilweise (Wie es für Entwickler funktioniert): Abbildung 2 - PDF-Berichtsausgabe

Abschluss

Der Einsatz von partiellen Klassen, partiellen Methoden und verschachtelten partiellen Typen in C# bietet Entwicklern ein flexibles und leistungsfähiges Werkzeug zur Codeorganisation und Verwaltung. Durch die Trennung von automatisch generiertem Code von Geschäftslogik, Benutzeroberflächenkontrolldefinitionen und anderen Teilen der Anwendung können Entwickler wartbarere, lesbarere und skalierbarere Anwendungen erstellen.

Durch die Trennung der Belange von Geschäftslogik und PDF-Verarbeitung können Entwickler eine bessere Codeorganisation, Wartbarkeit und Skalierbarkeit erreichen. Die leistungsstarken Funktionen von IronPDF in Kombination mit den organisatorischen Vorteilen partieller Klassen schaffen ein mächtiges Werkzeugsortiment for .NET-Entwickler, die in ihren Projekten mit PDFs arbeiten. Testen Sie IronPDF kostenlos mit der Testversion auf IronPDF. Wenn Sie am Kauf interessiert sind, beginnt die Lizenz von IronPDF ab $999.

Jacob Mellor, Chief Technology Officer @ Team Iron
Chief Technology Officer

Jacob Mellor ist Chief Technology Officer bei Iron Software und ein visionärer Ingenieur, der Pionierarbeit in der C# PDF-Technologie leistet. Als der ursprüngliche Entwickler hinter der Kern-Codebasis von Iron Software hat er die Produktarchitektur des Unternehmens seit seiner Gründung geprägt und es zusammen mit CEO Cameron Rimington in ein Unternehmen mit mehr als 50 Mitarbeitern verwandelt, das die NASA, Tesla und globale Regierungsbehörden beliefert.

...
Weiterlesen

Verwandte Artikel

Key in blue circle

Holen Sie sich sofort Ihren kostenlosen 30-Tage-Testschlüssel.

Your trial license will be sent to your email address

Keine Einschränkungen. 100 % freigeschaltet. Keine Kreditkarte.

OR
bullet_checkedIhr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.Keine Einschränkungen. 100 % freigeschaltet. Keine Kreditkarte.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
Buchen Sie Ihre kostenlose Live-Demo
Booking Badge

Von Millionen von Ingenieur*innen weltweit vertraut

Kundenlogos von Iron Software
Erhalten Sie Ihre unverbindliche Beratung
Füllen Sie das Formular unten aus oder senden Sie eine E-Mail an sales@ironsoftware.com
Ihre Daten werden immer vertraulich behandelt.
Von Millionen von Ingenieur*innen weltweit vertraut
Kundenlogos von Iron Software
Erhalten Sie sofort Ihren kostenlosen 30-Tage-Testschlüssel.
Ihr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.
C# NuGet-Bibliothek für PDF
Installation mit NuGet

Version: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. Rechtsklick auf Referenzen, NuGet-Pakete verwalten
  2. Wählen Sie Durchsuchen und suchen Sie nach 'IronPDF'
  3. Paket auswählen und installieren
C# PDF DLL
Download DLL

Version: 2026.9

oder laden Sie den Windows-Installer hier herunter.

  1. Laden Sie IronPDF herunter und entpacken Sie es in ein Verzeichnis wie ~/Libs innerhalb Ihres Lösungsverzeichnisses
  2. Im Visual Studio-Projektmappen-Explorer klicken Sie mit der rechten Maustaste auf Referenzen. Wählen Sie Durchsuchen, "IronPDF.dll"

Lizenzen ab 749 $