Maison > développement back-end > C++ > Comment la réflexion peut-elle récupérer les valeurs des propriétés des chaînes en C #?

Comment la réflexion peut-elle récupérer les valeurs des propriétés des chaînes en C #?

Susan Sarandon
Libérer: 2025-02-02 19:31:11
original
768 Les gens l'ont consulté

How Can Reflection Retrieve Property Values from Strings in C#?

Tiration de C # Réflexion pour accéder aux valeurs des propriétés à partir des chaînes

La réflexion dans C # fournit un moyen dynamique d'interagir avec les objets lors de l'exécution. Une application commune consiste à récupérer les valeurs des propriétés lorsque vous n'avez que leurs noms comme chaînes.

Cette technique est particulièrement utile lorsqu'il s'agit de données ou de configurations dynamiques où les noms de propriétés ne sont pas connus au moment de la compilation.

en utilisant Type.GetProperty() et GetValue()

Le noyau de cette approche réside dans les méthodes Type.GetProperty() et GetValue(). Voici une fonction concise démontrant ceci:

<code class="language-csharp">public static object GetPropertyValue(object obj, string propertyName)
{
    Type type = obj.GetType();
    PropertyInfo property = type.GetProperty(propertyName);
    return property?.GetValue(obj);
}</code>
Copier après la connexion

Cette fonction prend un objet et un nom de propriété (en tant que chaîne) et renvoie la valeur de la propriété. L'opérateur conditionnel nul (?.) gère gracieusement les cas où la propriété n'existe pas, empêchant les exceptions.

Exemple pratique

illustrons son utilisation:

<code class="language-csharp">public class MyClass
{
    public string MyProperty { get; set; }
}

// ... later in your code ...

string className = "MyClass";
string propertyName = "MyProperty";

object instance = Activator.CreateInstance(Type.GetType(className));
object propertyValue = GetPropertyValue(instance, propertyName); </code>
Copier après la connexion

Cet exemple crée dynamiquement une instance de MyClass et récupère la valeur de MyProperty en utilisant la fonction GetPropertyValue. Cela élimine le besoin d'accès à la propriété codé en dur et améliore la flexibilité du code.

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