2010-12-13 4 views
0

Ceci est lié de manière ténue à C#: How do i assign many variables with an integer(i) in for loop?.Affectation aux propriétés d'entités nommées similaires

Fondamentalement, j'ai une entité avec les propriétés Category1Results, Category2Results, Category3Results ... etc jusqu'à Category60Results. Il y a aussi environ 15 autres propriétés. Ceux-ci correspondent à une table de base de données.

Y a-t-il un moyen judicieux de les affecter? Une boucle semble être utile, où (par exemple) la propriété avec le nom Entity.Category + i + Result est assignée à, mais je ne suis pas sûr de la façon dont on y arriverait.

Un conseil?

Répondre

0

Vous pourriez le faire avec la réflexion. Jetez un oeil à this après où Jon Skeet fournit une solution pour assigner des propriétés d'objets.

for(int i = 1; i <= 60; i++) 
{ 
    SetProperty(entity, "Category"+i+"Result", valueYouWantToAssign) 
} 

Here est un autre exemple qui parcourt les propriétés de l'objet.

PropertyInfo[] properties = typeof(MyClass).GetProperties(); 
foreach(PropertyInfo property in properties) 
{ 
    property.SetValue(instanceOfMyClass, attribute.DataValue, null); 
} 
+0

Merci beaucoup pour cela. Je suis allé avec la première méthode, qui fonctionne bien. J'aurais pensé que cette dernière option est la plus élégante, mais elle nécessite un peu de bricolage dans mon code et je cherche juste une solution rapide pour le moment. Merci encore! – Rich

Questions connexes