Maison > développement back-end > C++ > Comment puis-je accéder dynamiquement aux valeurs de propriété en C# à l'aide de Reflection ?

Comment puis-je accéder dynamiquement aux valeurs de propriété en C# à l'aide de Reflection ?

Mary-Kate Olsen
Libérer: 2025-01-06 16:22:40
original
840 Les gens l'ont consulté

How Can I Dynamically Access Property Values in C# Using Reflection?

Obtention dynamique des valeurs de propriété en fonction des noms de propriété

Lorsque vous travaillez avec des objets et manipulez leurs propriétés, une exigence courante est la capacité de récupérer ou définir dynamiquement la valeur d'une propriété spécifique en fonction de son nom. Cela permet la flexibilité et la réutilisabilité du code dans divers scénarios.

Récupération dynamique de la valeur de propriété

En C#, la réflexion peut être utilisée pour obtenir cette fonctionnalité. Voici un exemple d'implémentation d'une méthode qui peut obtenir la valeur d'une propriété en fonction de son nom :

public string GetPropertyValue(object obj, string propertyName)
{
    return obj.GetType().GetProperty(propertyName).GetValue(obj, null);
}
Copier après la connexion

Cette méthode prend un objet et le nom de la propriété comme arguments. Il utilise la réflexion pour récupérer l'objet PropertyInfo associé au nom de propriété spécifié. La méthode GetValue de l'objet PropertyInfo est ensuite utilisée pour obtenir la valeur réelle de la propriété pour l'objet donné.

Utilisation :

Pour utiliser cette méthode, il vous suffit fournissez un objet et le nom de la propriété dont vous souhaitez récupérer la valeur. Par exemple :

var car = new Car { Make = "Ford" };
string make = GetPropertyValue(car, "Make");
Copier après la connexion

Dans cet exemple, la méthode GetPropertyValue est utilisée pour récupérer la valeur de la propriété Make de l'objet car. Le résultat sera attribué à la variable make, qui contiendra la valeur "Ford".

Cette approche offre un moyen polyvalent et dynamique d'accéder aux valeurs de propriété, ce qui la rend utile pour des scénarios tels que la sérialisation, la liaison de données, ou des setters et getters de propriétés personnalisés.

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