88 votes

Trouver le type de propriétés nullables par réflexion

J'examine les propriétés d'un objet par réflexion et je continue à traiter le type de données de chaque propriété. Voici ma source (réduite) :

private void ExamineObject(object o)
{
  Type type = default(Type);
  Type propertyType = default(Type);
  PropertyInfo[] propertyInfo = null;

  type = o.GetType();

  propertyInfo = type.GetProperties(BindingFlags.GetProperty |
                                    BindingFlags.Public |
                                    BindingFlags.NonPublic |
                                    BindingFlags.Instance);
  // Loop over all properties
  for (int propertyInfoIndex = 0; propertyInfoIndex <= propertyInfo.Length - 1; propertyInfoIndex++)
  {
    propertyType = propertyInfo[propertyInfoIndex].PropertyType;
  }
}

Mon problème est que j'ai récemment besoin de gérer des propriétés nullables, mais je n'ai aucune idée de la façon d'obtenir le type d'une propriété nullable.

0 votes

Je trouve bonne Réponse aquí vaut la peine d'être essayé !

0voto

Murat ÖNER Points 911

Cette méthode est facile, rapide et sûre

public static class PropertyInfoExtension {
    public static bool IsNullableProperty(this PropertyInfo propertyInfo)
        => propertyInfo.PropertyType.Name.IndexOf("Nullable`", StringComparison.Ordinal) > -1;
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X