Équivalent de la valeur par défaut pour la définition de la propriété en réflexion
Lorsque vous utilisez les propriétés d'un objet par réflexion, vous devez définir des valeurs par défaut pour différents types de données. Cet article explore des alternatives de programmation pour simplifier ce processus, plutôt que de gérer manuellement les valeurs par défaut pour chaque type.
Question :
Cette question recherche un moyen programmatique d'attribuer des valeurs par défaut aux propriétés lors d'une boucle de réflexion sans utiliser explicitement le mot-clé par défaut spécifique au type.
Réponse :
Deux solutions sont proposées :
Type de valeur :
Activator.CreateInstance
pour instancier une nouvelle instance par défaut du type valeur. Type de référence :
null
car ils sont par défaut null
. Exemple de code :
L'extrait de code suivant illustre la mise en œuvre de cette solution :
public static object GetDefault(Type type) { if (type.GetTypeInfo().IsValueType) { return Activator.CreateInstance(type); } return null; }
Remarque :
Pour la compatibilité avec les versions plus récentes de .NET (telles que .NET Standard), type.IsValueType
doit être remplacé par type.GetTypeInfo().IsValueType
.
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!