Maison > développement back-end > C++ > La réflexion peut-elle modifier la valeur d'une propriété C# en fonction de son nom ?

La réflexion peut-elle modifier la valeur d'une propriété C# en fonction de son nom ?

Linda Hamilton
Libérer: 2025-01-03 17:31:39
original
182 Les gens l'ont consulté

Can Reflection Change a C# Property's Value Given its Name?

Définition de la valeur d'une propriété à l'aide de la réflexion

Question :

Est-il possible d'utiliser la réflexion pour modifier la valeur d'une propriété en C# , étant donné que le nom de la propriété est connu ?

Réponse :

Absolument, la réflexion permet cette fonctionnalité. Voici comment y parvenir :

  1. Récupérer la propriété : Utilisez la méthode Type.GetProperty pour obtenir la propriété cible. Vous devrez peut-être spécifier des indicateurs de liaison supplémentaires pour garantir l'accessibilité.
  2. Définissez la valeur : Invoquez la méthode SetValue sur la propriété récupérée. Voici un exemple de code pour illustrer :
using System;

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

class Test
{
    static void Main(string[] arg)
    {
        Person p = new Person();
        var property = typeof(Person).GetProperty("Name");
        property.SetValue(p, "Jon", null);
        Console.WriteLine(p.Name); // Jon
    }
}
Copier après la connexion

Remarque : Si la propriété cible n'est pas publique, vous devrez utiliser BindingFlags.NonPublic | BindingFlags.Instance lors de la récupération de la propriété.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal