IRONSOFTWAREHOME
MISES À JOUR POUR LES DÉVELOPPEURS

C# Getter Setter (Comment ça fonctionne pour les développeurs)

Jacob Mellor, Directeur technique @ Team Iron
Jacob Mellor
Updated: 21 avril 2026

Les getters et setters sont des concepts essentiels dans les langages de programmation orientés objet comme C#. Ces deux méthodes nous permettent de contrôler l'accès et la modification des propriétés de la classe. Dans ce tutoriel, nous explorerons à la fois les aspects débutant et intermédiaire des getters et setters privés en C# en utilisant des blocs de code.

Introduction aux Getters et Setters

Que sont les Getters et Setters ?

À la base, les getters et setters ne sont rien d'autre que des méthodes permettant d'accéder à des variables privées dans une classe. Le getter retourne la valeur d'une variable de champ privé, tandis que le setter la modifie. Ces méthodes garantissent que les données internes (champs) d'une classe sont accédées ou modifiées de manière sécurisée et correcte.

Pourquoi en avons-nous besoin ?

Imaginez avoir un public class Car avec une propriété private string description. Si quelqu'un en dehors de cette classe veut connaître la description, il ne peut pas y accéder directement car elle est privée. C'est là qu'interviennent les getters et setters.

Un getter permettrait aux utilisateurs de récupérer la valeur d'un private string description sans leur donner un accès direct pour la modifier. D'autre part, un setter permettrait aux utilisateurs de modifier la description selon les conditions que nous avons définies.

Modificateurs d'Accès

Les modificateurs d'accès définissent le niveau de visibilité et d'accessibilité d'un champ ou d'une propriété depuis l'extérieur de la classe. Les modificateurs les plus couramment utilisés sont public et private.

  • Public : Les champs ou propriétés déclarés public peuvent être accessibles depuis n'importe où dans votre programme. Par exemple, vous pourriez avoir une propriété public int Age qui peut être accessible et modifiée par n'importe quelle partie de votre code.
  • Private : Les propriétés ou champs déclarés private ne peuvent être accessibles qu'au sein de la classe définie, par exemple private int age. Cette encapsulation aide à prévenir les modifications non autorisées et garantit que l'état interne de la classe est bien maintenu.

Getter et Setter Simples

Commençons par un exemple simple.

using System;

public class Person
{
    private string name;  // This is a private string name property variable
    
    // This is the getter
    public string GetName()
    {
        return name;
    }

    // This is the setter
    public void SetName(string newName)
    {
        name = newName;
    }
}

class Program
{
    static void Main()
    {
        Person person = new Person();
        person.SetName("John");
        Console.WriteLine(person.GetName());
    }
}

Dans le class Person ci-dessus, nous avons à la fois un getter (GetName) et un setter (SetName) pour la propriété name. Lorsque vous exécutez la méthode static void Main, elle imprimera "John" car nous avons défini cette valeur pour le nom à l'aide du setter.

Propriétés Auto-Implémentées

Maintenant, vous pourriez vous demander, "Dois-je toujours écrire des méthodes distinctes pour les getters et setters ?" La réponse est "non." C# a introduit un concept appelé "propriétés auto-implémentées" ou "propriétés automatiques" pour simplifier cela.

En C#, vous pouvez utiliser des propriétés automatiques, ce qui vous donne un raccourci pour déclarer un private field et sa propriété associée. Voici un exemple :

using System;

public class Student
{
    public string Name { get; set; } // This is an auto-implemented or automatic property
    public string Title { get; set; } // Another auto-implemented property
}

class Program
{
    static void Main()
    {
        Student student = new Student();
        student.Name = "Alice";  // Using setter
        Console.WriteLine(student.Name);  // Using getter
    }
}

Dans la classe Student, la propriété Name est à la fois un getter et un setter, qui sont auto-implémentés. Le compilateur C# crée un champ private string name en coulisse, et la propriété Name fournit un accès à ce champ.

Modificateurs d'Accès Avancés dans les Propriétés

Propriétés en Lecture Seule

Parfois, vous pourriez vouloir fournir une propriété qui peut être lue mais pas modifiée de manière externe. C'est là que les propriétés en lecture seule sont utiles. Vous pouvez omettre le setter dans une propriété pour la rendre en lecture seule.

Disons que nous voulons ajouter une propriété string Description en lecture seule à notre classe Person :

public class Person
{
    public string Name { get; set; }
    public string Description { get; }
    
    public Person(string name, string description)
    {
        Name = name;
        Description = description;
    }
}

Dans cet exemple, la propriété Description ne peut être définie qu'au sein du constructeur de la classe Person. Une fois fixée, elle ne peut pas être modifiée de manière externe.

Setters Privés

Parfois, vous pourriez vouloir autoriser la propriété à être lue depuis l'extérieur de la classe mais seulement définie de l'intérieur de la classe. Cela est réalisé en utilisant un private set.

using System;

public class Program
{
    public string Description { get; private set; }

    public Program()
    {
        Description = "This is a program about getters and setters.";
    }
}

class ProgramTest
{
    static void Main()
    {
        Program myProgram = new Program();
        Console.WriteLine(myProgram.Description);  // Allowed
        // myProgram.Description = "New Description";  // Not allowed
    }
}

Dans le class Program, la propriété Description a un private set, ce qui signifie qu'elle ne peut pas être modifiée de l'extérieur de la classe, assurant ainsi l'intégrité des données.

Héritage et Surdéfinition

Lorsqu'on travaille avec des classes dérivées, vous pouvez remplacer les méthodes getter et setter pour personnaliser leur comportement. Cela vous permet d'ajouter une logique supplémentaire pendant la récupération ou la définition des valeurs.

public class Person
{
    public virtual string Name { get; set; }
}

public class Student : Person
{
    private string studentID;

    public override string Name
    {
        get { return base.Name; }
        set
        {
            if (!string.IsNullOrEmpty(value))
                base.Name = value;
        }
    }
}

Dans cet exemple, la classe Student hérite de Person et surcharge le setter de la propriété Name. Elle ajoute une vérification de validation avant de définir le nom, s'assurant qu'il n'est ni vide ni nul.

Présentation d'Iron Suite pour améliorer votre développement en C#

Iron Suite est un ensemble d'outils de recherche qui boostent considérablement les capacités de développement C#. Il inclut IronPDF, IronXL, IronOCR, et IronBarcode. Chacun de ces outils a une utilité unique et peut être intégré dans divers aspects de C#.

IronPDF - Un Outil Puissant de Gestion PDF

[En savoir plus sur IronPDF]($title=Apprendre%20%C3%A0%20prendre%20en%20main%20 IronPDF&href=/tutorials/html-to-pdf/), qui est une bibliothèque permettant aux développeurs de créer, lire et éditer des documents PDF en C#. Que ce soit pour convertir du HTML en PDF ou gérer les métadonnées PDF via des getters et setters, IronPDF est là pour vous.

IronPDF excelle dans la conversion HTML en PDF, garantissant une préservation précise des mises en page et styles originaux. Il est parfait pour créer des PDF à partir de contenus basés sur le Web tels que des rapports, des factures et de la documentation. Avec le support des fichiers HTML, des URLs et des chaînes HTML brutes, IronPDF produit facilement des documents PDF de haute qualité.

using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        var renderer = new ChromePdfRenderer();

        // 1. Convert HTML String to PDF
        var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
        var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
        pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");

        // 2. Convert HTML File to PDF
        var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
        var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
        pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");

        // 3. Convert URL to PDF
        var url = "http://ironpdf.com"; // Specify the URL
        var pdfFromUrl = renderer.RenderUrlAsPdf(url);
        pdfFromUrl.SaveAs("URLToPDF.pdf");
    }
}

IronXL - Manipulation d'Excel Facile

Lorsque vous travaillez avec des fichiers Excel, la bibliothèque IronXL Excel simplifie le processus de lecture et d'écriture. Cet outil peut être utilisé pour manipuler les chaînes ou entiers privés et publics des fichiers Excel, de la même manière que vous pourriez gérer les données au sein d'une classe en utilisant la même syntaxe pour les getters et setters en C#.

IronOCR - Optical Character Recognition in C#

Explorez IronOCR, une bibliothèque de Reconnaissance Optique de Caractères qui traduit les images en texte consultable. Si votre application implique la lecture de texte à partir de documents numérisés, les capacités puissantes de IronOCR peuvent être facilement intégrées. Il peut gérer les champs privés et les descriptions de chaînes publiques, tout comme vous vous y attendriez dans une classe Person ou une classe Student de l'exemple précédent.

IronBarcode - Bibliothèque de Lecture et Écriture de Codes-Barres

Découvrez les fonctionnalités d'IronBarcode pour les applications nécessitant la lecture et l'écriture de codes-barres. Il permet à la fois un accès direct aux données de codes-barres et une personnalisation via des propriétés automatiques, tout comme les getters et setters utilisés dans la programmation C#.

Iron Suite et Getters et Setters

Le package Iron Suite s'intègre parfaitement au développement C#, y compris les getters et setters. Ces outils ajoutent de la valeur à tout projet C#.

Conclusion

Pour résumer :

  1. Getter and Setter : Ils aident à accéder et à modifier les champs privés d'une classe.
  2. Auto Properties : Une façon élégante d'avoir des getters et setters automatiques grâce aux propriétés auto-implémentées.
  3. Access Modifiers : Ils aident à affiner l'accessibilité des propriétés.

À présent, vous devriez avoir une bonne compréhension de comment utiliser les getters et setters en C#.

La suite d'outils d'Iron Suite offre une fonctionnalité incroyable pour les développeurs C#. Chacun de ces produits, y compris IronPDF, IronXL, IronOCR et IronBarcode, est livré avec une version d'essai gratuite des outils Iron Software, vous permettant d'explorer et d'intégrer ces bibliothèques puissantes dans vos projets sans aucun investissement initial.

Lorsque vous êtes prêt à vous engager, les licences individuelles commencent à partir de $999. Si vous constatez que plus d'un de ces outils répond à vos besoins, vous pouvez profiter de l'opportunité d'acheter l'ensemble du package Iron Suite pour le prix de seulement deux licences individuelles.

Jacob Mellor, Directeur technique @ Team Iron
Directeur technique

Jacob Mellor est directeur de la technologie chez Iron Software et un ingénieur visionnaire pionnier de la technologie C# PDF. En tant que développeur à l'origine de la base de code centrale d'Iron Software, il a façonné l'architecture des produits de l'entreprise depuis sa création, la transformant aux côtés du PDG Cameron Rimington en une entreprise de plus de 50 personnes au service de la NASA, de Tesla et d'agences gouvernementales mondiales.

...
Lire la suite

Articles connexes

Key in blue circle

Obtenez votre clé d'essai de 30 jours instantanément.

Your trial license will be sent to your email address

Aucune restriction. 100 % débloqué. Pas de carte bancaire.

OR
bullet_checkedAucune carte de crédit ou création de compte requiseAucune restriction. 100 % débloqué. Pas de carte bancaire.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
Réservez votre Démonstration en direct gratuite
Booking Badge

De confiance par des millions d'ingénieurs dans le monde entier

Logos des clients d'Iron Software
Obtenez Votre Consultation sans Engagement
Remplissez le formulaire ci-dessous ou envoyez un email à sales@ironsoftware.com
Vos informations seront toujours gardées confidentielles.
De confiance par des millions d'ingénieurs dans le monde entier
Logos des clients d'Iron Software
Obtenez votre clé d'essai 30 jours gratuitement.
Aucune carte de crédit ou création de compte requise
Bibliothèque C# NuGet pour PDF
Installer avec NuGet

Version : 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. Dans l'explorateur de solutions, faites un clic droit sur Références, Gestion des packages NuGet
  2. Sélectionnez Parcourir et recherchez « IronPDF »
  3. Sélectionnez le package et installez
C# PDF DLL
Télécharger DLL

Version : 2026.9

ou téléchargez l'installateur Windows ici.

  1. Téléchargez et décompressez IronPDF à un emplacement tel que ~/Libs dans votre répertoire de solution
  2. Dans l'explorateur de solutions Visual Studio, faites un clic droit sur Références. Sélectionnez Parcourir, « IronPDF.dll »

Licences à partir de 749 $