J'ai une classe avec un certain nombre d'attributs et j'ai besoin de trouver un moyen de compter le nombre de types d'attributs qu'il a. Je tiens à le faire car la classe lit un fichier CSV et si le nombre d'attributs (CSVColumns) est inférieur au nombre de colonnes dans le fichier, des choses spéciales devront se produire. Voici un échantillon de ce que ma classe ressemble à: J'ai essayé de faire cela: p> mais cela a échoué de manière misérablement. Toute aide que vous pourriez donner (liens vers des documents ou d'autres réponses, ou simplement des suggestions) est grandement appréciée! P> p>
4 Réponses :
Ceci n'est pas testé et juste éteint le dessus de ma tête
Utilisation de la réflexion Vous avez une méthode getattributes () qui retournera un tableau d'objet (les attributs). P>
Donc, si vous avez une instance de l'objet, obtenez ensuite le type d'obj.getType (), puis vous pouvez utiliser la méthode getattributes (). p>
look ici pour un exemple sur la façon dont getattributes () < / code> peut être utilisé.
Étant donné que les attributs sont sur les propriétés, vous devrez obtenir les attributs sur chaque propriété:
Type type = typeof(StaffRosterEntry); int attributeCount = 0; foreach(PropertyInfo property in type.GetProperties()) { attributeCount += property.GetCustomAttributes(false).Length; }
Veuillez utiliser le code suivant:
Type type = typeof(YourClassName); int NumberOfRecords = type.GetProperties().Length;
Simple et intelligent. +1
Ceci est maintenant >>> objet .getype (). GetProperties (). Longueur (); - Stackoverflow.com / Questions / 42029808 / ...