IRONSOFTWAREHOME
MISES À JOUR POUR LES DÉVELOPPEURS

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

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

Il y a un mot-clé particulier en C# qui revêt une importance particulière, et c'est le mot-clé this. Ce mot-clé fait référence à l'instance de la classe dans laquelle il est utilisé. Il peut être utilisé pour distinguer les variables de niveau de classe et les paramètres de méthode qui partagent le même nom, entre autres choses. Par exemple, si vous avez une variable d'instance et un paramètre de méthode portant le même nom, this peut être un véritable sauveur !

Les bases de ce mot-clé

Dans une classe publique, comme Employee par exemple, vous pouvez avoir des variables d'instance publiques telles que id ou name. Si vous souhaitez attribuer des valeurs à ces variables d'instance à l'intérieur d'une méthode, vous risquez de vous heurter à un problème courant : que faire si les paramètres de la méthode portent le même nom que les variables d'instance ?

Voici une solution : utilisez le mot-clé this dans la documentation C# ! Dans l'exemple suivant d'une méthode à l'intérieur de la classe publique Employee, le mot-clé this est utilisé pour distinguer les variables d'instance et les paramètres de méthode qui partagent les mêmes noms.

public class Employee
{
    private int id;
    private string name;
    
    public void Display(int id, string name)
    {
        // Use `this.id` to refer to the instance variable, 
        // and `id` for the method parameter.
        this.id = id;
        this.name = name;
    }
}

Dans ce cas, this.id se réfère à la variable d'instance, et id est le paramètre de la méthode.

Mot-clé this dans la surcharge de constructeur

En tirant parti du mot-clé this, la surcharge de constructeur devient une technique puissante au sein de la même classe. Lorsque qu'une classe, comme une classe Student, a plusieurs constructeurs avec des paramètres variés, le mot-clé this permet à un constructeur d'en appeler un autre, éliminant le besoin de code redondant.

Considérez l'exemple suivant où this est utilisé dans un constructeur paramétré :

public class Student
{
    private string name;
    private int id;

    public Student() : this("Default", 0)
    {
        // Default constructor delegates to the parameterized constructor
        // with "Default" as the name and 0 as the id.
    }

    public Student(string name, int id)
    {
        // Assign the parameters to the instance variables
        this.name = name;
        this.id = id;
    }
}

Dans le constructeur sans paramètre, this("Default", 0) appelle le constructeur paramétré, en définissant Default comme le nom et 0 comme l'ID.

Explorer this dans les méthodes d'extension

Les méthodes d'extension en C# permettent d'ajouter des méthodes à des types existants sans modifier le type d'origine. C'est là que le mot-clé this fait quelque chose de magique. Il est utilisé dans la liste des paramètres de la méthode d'extension pour faire référence au type étendu.

Prenons l'exemple suivant d'une méthode d'extension :

public static class StringExtensions
{
    // This extension method can be called on any string instance
    public static bool IsNullOrEmpty(this string str)
    {
        return string.IsNullOrEmpty(str);
    }
}

Ici, this string str indique à C# qu'il s'agit d'une méthode d'extension pour le type chaîne. Maintenant, vous pouvez utiliser cette méthode sur n'importe quel objet chaîne, comme if(myString.IsNullOrEmpty()).

this dans les indexeurs

Le mot-clé this peut également être utilisé pour définir des indexeurs. Un indexeur permet d'indexer les instances d'une classe comme des tableaux. Cela vous aide à accéder aux données dans les objets en utilisant une notation de type index. Dans un indexeur, this est suivi d'un indice de tableau, qui est généralement int index.

Voici un exemple de base d'un indexeur :

public class Test
{
    private int[] array = new int[100];

    // Define an indexer for the class
    public int this[int index]
    {
        get { return array[index]; }
        set { array[index] = value; }
    }
}

Dans cette classe Test, le mot-clé this définit un indexeur qui peut être utilisé pour obtenir ou définir des valeurs dans le champ d'instance array.

this et membres statiques

Une chose à noter sur this est qu'il ne peut pas être utilisé pour référencer des membres ou méthodes statiques. C'est parce que this se réfère à l'instance actuelle, et que les membres statiques appartiennent à la classe elle-même, pas à une instance de la classe.

public class Program
{
    public static void Main(string[] args)
    {
        // Can't use `this` here, because 'Main' is a static method.
    }
}

Alors, souvenez-vous, this est pour les instances, pas pour les membres au niveau de la classe ou statiques !

Mot-clé this et propriétés

Tout comme les variables d'instance et les paramètres de méthode, le mot-clé this peut également être utilisé avec des propriétés. En C#, une propriété est un membre qui fournit un mécanisme flexible pour lire, écrire ou calculer la valeur d'un champ privé. Les propriétés peuvent être utilisées comme s'il s'agissait de membres de données publiques, mais il s'agit en fait de méthodes spéciales appelées accesseurs.

Examinons un exemple simple utilisant this dans une propriété :

public class Employee
{
    private string name;

    public string Name
    {
        get { return this.name; }
        set { this.name = value; } // Use `this` to refer to the instance variable
    }
}

Dans la classe ci-dessus, le mot-clé this est utilisé pour référencer la chaîne privée name dans les accesseurs get et set de la propriété Name.

Explorer this et délégués

Un autre endroit où this apparaît est dans les délégués. Un délégué en C# est similaire à un pointeur de fonction en C ou C++. Il s'agit d'une variable de type référence qui contient la référence à une méthode. Les méthodes déléguées, tout comme les méthodes d'extension, peuvent utiliser this pour accéder à l'instance actuelle.

Voici un exemple d'un délégué utilisant this :

public delegate void DisplayDelegate();

public class Student
{
    public int Id { get; set; }
    public string Name { get; set; }

    public void Display()
    {
        // `this.DisplayDetails` refers to the method instance of the current object.
        DisplayDelegate displayDelegate = new DisplayDelegate(this.DisplayDetails);
        displayDelegate();
    }

    private void DisplayDetails()
    {
        Console.WriteLine("ID: " + Id + ", Name: " + Name);
    }
}

Dans la classe étudiant, this.DisplayDetails crée une nouvelle instance du délégué qui se réfère à la méthode DisplayDetails de l'objet actuel.

Implémentation du mot-clé this avec IronPDF

Explorons un exemple où vous pourriez utiliser le mot-clé this en conjonction avec IronPDF, une bibliothèque .NET puissante pour éditer et créer des fichiers PDF en utilisant HTML.

Considérez une classe nommée PDFHandler qui utilise la bibliothèque IronPDF pour effectuer diverses opérations sur les fichiers PDF :

using IronPdf;

public class PDFHandler
{
    private string path;

    public PDFHandler(string path)
    {
        this.path = path;
    }

    public void GeneratePDF(string content)
    {
        // Creating a renderer to convert HTML content to PDF
        var Renderer = new IronPdf.ChromePdfRenderer();
        var PDF = Renderer.RenderHtmlAsPdf(content);
        
        // Save the generated PDF to the path specified by the current instance
        PDF.SaveAs(this.path);
    }
}

Dans cette classe PDFHandler, le mot-clé this est utilisé pour se référer au champ path de l'instance actuelle. Ce champ est utilisé pour enregistrer le PDF généré dans le chemin d'accès spécifié.

Lorsque nous créons une nouvelle instance de PDFHandler et que nous appelons la méthode GeneratePDF, le mot-clé this nous permet d'utiliser path spécifié lors de la création de l'objet :

class Program
{
    static void Main(string[] args)
    {
        // Initialize PDFHandler with a specified file path
        PDFHandler pdfHandler = new PDFHandler("C:\\ThisKeyword.pdf");
        pdfHandler.GeneratePDF("Hello World!");
    }
}

Ici, this rend le code plus lisible et compréhensible, surtout lorsqu'il s'agit de bibliothèques comme IronPDF.

C# Cette (Comment cela fonctionne pour les développeurs) Figure 1

Conclusion

D'ici là, vous devriez avoir une bonne compréhension du mot-clé this en C#, y compris ses utilisations variées, allant des simples variables d'instance à des contextes complexes tels que les constructeurs, les méthodes d'extension, les propriétés, les délégués, les méthodes anonymes et même lors de l'utilisation de bibliothèques populaires comme IronPDF.

N'oubliez pas qu'IronPDF offre une évaluation gratuite d'IronPDF, afin que vous puissiez mettre à l'épreuve tout ce que vous avez appris aujourd'hui. Si vous décidez de continuer avec cela, les licences commencent à partir de seulement $999. IronPDF peut constituer un ajout intéressant à votre boîte à outils de développement C#, en simplifiant la tâche de manipulation des fichiers PDF dans vos applications.

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 $