IRONSOFTWAREHOME
ENTWICKLER-UPDATES

C# Abgeschlossene Klasse (Funktionsweise für Entwickler)

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

In der Welt der objektorientierten Programmierung bietet die C#-Sprache Entwicklern eine vielseitige Palette an Werkzeugen, um robuste Software zu entwerfen und zu implementieren. Ein solches Feature, das eine zusätzliche Kontrolle über die Klassenvererbung bietet, ist das Konzept einer versiegelten Klasse. Versiegelte Klassen bieten eine einzigartige Möglichkeit, die Vererbungshierarchie einzuschränken und so ein Maß an Sicherheit und Kapselung zu bieten, das in bestimmten Szenarien von Vorteil sein kann. In diesem Artikel werden wir die Feinheiten der C#-versiegelten Klassen ergründen und auch das IronPDF NuGet-Paket von Iron Software erkunden.

Was sind Sealed Classes und Sealed Methods?

Versiegelte Klasse: In C# ist eine versiegelte Klasse eine Klasse, die nicht vererbt werden kann. Durch die Verwendung des sealed Schlüsselworts können Entwickler verhindern, dass andere Klassen von der versiegelten Klasse ableiten oder sie erweitern. Diese bewusste Einschränkung stellt sicher, dass die versiegelte Klasse nicht als Basisklasse für eine andere Klasse verwendet werden kann, wodurch der Umfang der Vererbungshierarchie begrenzt wird. Versiegelte Klassen werden oft eingesetzt, wenn ein Entwickler die Struktur einer Klasse kontrollieren und finalisieren möchte, um unbeabsichtigte Änderungen durch Vererbung zu verhindern.

Beispiel: IronPDF rendert HTML zu einem PDF und speichert es.

public sealed class Animal
{
    public string Species { get; set; }

    public void MakeSound()
    {
        Console.WriteLine("Generic animal sound");
    }
}

// The following code will cause a compilation error because 'Animal' is sealed and cannot be inherited:
// public class Dog : Animal // Error: Cannot inherit from sealed class 'Animal'
// {
// }

Im Gegensatz zu Strukturen, die implizit versiegelt sind, muss die versiegelte Klasse mit dem sealed Schlüsselwort wie oben gezeigt deklariert werden. In diesem Beispiel wird die Animal Klasse als versiegelt deklariert, was es unmöglich macht, dass eine andere Klasse von ihr erbt.

Versiegelte Methode: Neben dem Versiegeln ganzer Klassen erlaubt C# Entwicklern auch, einzelne Methoden innerhalb einer Klasse zu versiegeln. Eine versiegelte Methode ist eine Methode, die von keiner abgeleiteten Klasse überschrieben werden kann. Dies stellt sicher, dass das Verhalten der Methode über alle Unterklassen hinweg konsistent bleibt und bietet ein Maß an Vorhersehbarkeit in der Logik der Anwendung.

Um eine Methode zu versiegeln, verwenden Sie den sealed Modifikator:

public class Animal
{
    public string Species { get; set; }

    // A virtual method allows derived classes to override it.
    public virtual void MakeSound()
    {
        Console.WriteLine("Generic animal sound");
    }
}

public class Dog : Animal
{
    // The sealed override prevents further overriding of this method.
    public sealed override void MakeSound()
    {
        Console.WriteLine("Bark!");
    }
}

Das virtual Schlüsselwort erlaubt es, die Methode in abgeleiteten Klassen zu überschreiben, während das sealed Schlüsselwort verhindert, dass die Basisklassen-Virtuelle Methode in jeglichen nachfolgenden Unterklassen weiter überschrieben wird.

Versiegelte Klasse und Klassenmitglieder: Versiegelte Klassen können auch versiegelte Mitglieder wie Eigenschaften, Methoden und Ereignisse enthalten. Diese Kombination aus versiegelter Klasse und versiegelten Mitgliedern sorgt für ein hohes Maß an Kontrolle über das Verhalten und die Struktur der Klasse.

Beispiel: IronPDF rendert HTML zu einem PDF und speichert es.

public sealed class ControlledClass
{
    // A sealed property that prevents overriding.
    public sealed string ControlledProperty { get; set; }

    // A method that cannot be redefined by derived classes.
    public virtual sealed void ControlledMethod()
    {
        // Method implementation
        Console.WriteLine("Executing controlled method.");
    }

    // A sealed event that cannot be subscribed to or raised by derived classes.
    public sealed event EventHandler ControlledEvent;

    // Sealed indexers, if applicable
    public sealed string this[int index]
    {
        get { return "Value"; }
        set 
        { 
            // Setter implementation 
        }
    }
}

In diesem Beispiel ist jeder Aspekt der ControlledClass versiegelt – die Eigenschaft, Methode, das Ereignis, und sogar ein Indexer, falls anwendbar. Dieses Maß an Versiegelung bietet eine robuste und unveränderliche Struktur, ideal für Szenarien, in denen das Design der Klasse fest bleiben soll.

Der Grundgedanke hinter Sealed Class

Codesicherheit: Versiegelte Klassen tragen zur Codesicherheit bei, indem sie unbefugten Zugriff und Änderungen verhindern. Wenn eine Klasse versiegelt ist, dient sie als geschlossene Entität mit einer klar definierten Schnittstelle und Verhalten. Diese Kapselung minimiert das Risiko unbeabsichtigter Nebeneffekte oder Änderungen, die möglicherweise die Stabilität und Sicherheit des Codebestands beeinträchtigen könnten.

Integrität im Design: In größeren Codebasen oder Frameworks ist die Aufrechterhaltung der Designintegrität von größter Bedeutung. Eine versiegelte Klasse fungiert als grundlegender Baustein mit festen Strukturen, wodurch die Wahrscheinlichkeit unbeabsichtigter Änderungen verringert wird. Dies ist besonders vorteilhaft in Szenarien, in denen eine Klasse als Kernkomponente eines Systems dient und ihr Verhalten in verschiedenen Modulen konsistent bleiben soll.

Best Practices für die Verwendung von Sealed Class

  1. Verwenden Sie die versiegelte Klasse sparsam: Während die versiegelte Klasse Vorteile bietet, sollten sie mit Bedacht eingesetzt werden. Die Überbeanspruchung versiegelter Klassen kann zu starrem und schwerer wartbarem Code führen.
  2. Dokumentieren Sie die Absicht: Beim Versiegeln einer Klasse oder Methode ist es wichtig, die Absicht hinter dieser Entscheidung zu dokumentieren. Erklären Sie, warum eine bestimmte Klasse versiegelt ist und welche Designüberlegungen zu dieser Wahl geführt haben.
  3. Berücksichtigen Sie zukünftige Erweiterbarkeit: Bevor Sie eine Klasse versiegeln, sollten Sie überlegen, ob zukünftige Anforderungen eine Erweiterbarkeit erforderlich machen könnten. Wenn die Wahrscheinlichkeit besteht, dass eine Klasse erweitert werden muss, kann das Versiegeln zukünftige Entwicklungen behindern.
  4. Verwenden Sie versiegelte Methoden für Stabilität: Das Versiegeln von Methoden kann von Vorteil sein, wenn das Kernverhalten einer Methode über verschiedene Unterklassen hinweg stabil bleiben soll. Dadurch kann die Vorhersehbarkeit des Codes verbessert werden.
  5. Es kann auch nicht abstrakt sein: Eine versiegelte Klasse/versiegelte Methoden können auch keine abstrakten Klasse/abstrakten Methoden sein, da abstrakte Klassen dazu ausgelegt sind, von anderen Klassen geerbt zu werden, während versiegelte Klassen die Vererbung einschränken.

Einführung in IronPDF

C# Versiegelte Klasse (wie es bei Entwicklern funktioniert): Abbildung 1 - IronPDF-Webseite

IronPDF ist eine C# PDF-Bibliothek von Iron Software und ist ein moderner PDF-Generator und -Leser.

Installation

IronPDF kann mithilfe der Konsole des NuGet Paketmanagers oder mit dem Visual Studio-Paketmanager installiert werden. Unten ist der Befehl für die Konsole:

PM > Install-Package IronPdf

Oder installieren Sie IronPDF mit dem NuGet-Paketmanager, indem Sie "IronPDF" in die Suchleiste des NuGet-Paketmanagers eingeben.

C# Versiegelte Klasse (wie es bei Entwicklern funktioniert): Abbildung 2 - Installation der IronPDF-Bibliothek über den NuGet-Paket-Manager

IronPDF und Sealed Classes

Zusammen können das sealed Schlüsselwort und IronPDF verwendet werden, um zu verhindern, dass eine Unterklassenbibliothek oder eine abgeleitete Bibliothek geerbte Mitglieder überschreibt und auch PDFs erzeugen.

namespace OrderBy
{
    public class Program
    {
        static void Main()
        {
            Console.WriteLine("Demo Sealed Class and IronPdf");
            var dog = new Dog();
            dog.MakeSound();
            dog.Print();
        }
    }

    // Base class
    public class Animal
    {
        public string Species { get; set; }

        public virtual void MakeSound()
        {
            Console.WriteLine("Generic animal sound");
        }

        public virtual void Print()
        {
            Console.WriteLine("Generic animal Print");
        }
    }

    public class Dog : Animal
    {
        // Sealed override ensures method cannot be overridden in further derived classes.
        public sealed override void MakeSound()
        {
            Console.WriteLine("Bark!");
        }

        public sealed override void Print()
        {
            var pdfRenderer = new ChromePdfRenderer();
            string content = @"
            <!DOCTYPE html>
            <html>
            <body>
                <h1>Hello, Dog!</h1>
                <p>This is Print from Derived class.</p>
                <p>Print Animal Dog</p>
                <p>Print Animal Sound: Bark</p>
            </body>
            </html>";
            
            pdfRenderer.RenderHtmlAsPdf(content).SaveAs("dog.pdf");
        }
    }
}

C# Versiegelte Klasse (wie es bei Entwicklern funktioniert): Abbildung 3 - Konsolenausgabe, zeigt den Ausführungsbefehl und alle resultierenden Konsolennachrichten

Unten ist das von IronPDF generierte PDF

C# Versiegelte Klasse (wie es bei Entwicklern funktioniert): Abbildung 4 - Ausgegebenes PDF, generiert mit dem vorherigen Codebeispiel

Lizenzierung (Kostenlose Testversion verfügbar)

IronPDF. Dieser Schlüssel muss in appsettings.json platziert werden.

{
    "IronPdf.LicenseKey": "your license key"
}
JSON

Geben Sie Ihre E-Mail für eine Testlizenz an.

Abschluss

C# versiegelte Klassen bieten Entwicklern einen leistungsstarken Mechanismus, um die Vererbungshierarchie zu kontrollieren und sicherzustellen, dass bestimmte Klassen und ihre Mitglieder nicht erweitert oder überschrieben werden können. Während der Einsatz versiegelter Klassen sorgfältig abgewogen werden sollte, bieten sie ein effektives Mittel zur Kapselung von Funktionalität und zur Verhinderung unbeabsichtigter Änderungen. Indem Entwickler das Konzept versiegelter Klassen und Methoden verstehen, können sie fundierte Entscheidungen darüber treffen, wann und wo diese Einschränkung angewendet werden sollte, was zur Schaffung wartbarer, sicherer und vorhersehbarer Softwaresysteme beiträgt. Zusammen mit IronPDF können wir auch PDF-Dokumente drucken.

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 IronPDF
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 $