Maison > développement back-end > C++ > Comment puis-je récupérer dynamiquement les valeurs de propriété dans .NET à l'aide de Reflection ?

Comment puis-je récupérer dynamiquement les valeurs de propriété dans .NET à l'aide de Reflection ?

DDD
Libérer: 2025-01-06 16:51:42
original
897 Les gens l'ont consulté

How Can I Dynamically Retrieve Property Values in .NET Using Reflection?

Récupération dynamique des valeurs de propriété à l'aide du nom de la propriété

L'accès aux valeurs de propriété par programmation peut être utile dans divers scénarios, tels que la manipulation dynamique d'objets ou la sérialisation de données. . Dans .NET, vous pouvez y parvenir en utilisant la réflexion.

Pour récupérer la valeur d'une propriété en fonction de son nom, vous pouvez utiliser la méthode GetProperty de la classe Type. Il prend le nom de la propriété comme paramètre et renvoie un objet PropertyInfo. Cet objet représente la propriété spécifiée et vous permet de manipuler son comportement et ses données.

Pour obtenir la valeur de la propriété, vous pouvez appeler la méthode GetValue de l'objet PropertyInfo. Cette méthode prend l'objet à partir duquel récupérer la valeur et un tableau de valeurs d'index facultatives (qui sont généralement nulles pour les propriétés non indexées).

Voici un exemple qui montre comment écrire une méthode qui récupère les valeurs de propriété par name:

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

Dans l'exemple de classe donné, vous pouvez appeler cette méthode comme suit :

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

Cela attribuera la valeur de la propriété Make (Ford) à la variable make. Notez que la valeur de la propriété est renvoyée sous forme d'objet et peut devoir être convertie en type approprié.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal