Je passe de VB à C#. J'essaie de parcourir une classe de collection qui est une collection de classes de données mais je n'arrive pas à extraire les valeurs réelles des propriétés de classe de données (trouvez le code correct pour le faire). J'ai une méthode qui boucle à travers la classe de collection (Contacts) et enregistre chaque enregistrement (Contact). J'utilise la réflexion parce que ma méthode ne saura pas si c'est une classe Contacts ou une classe Client et ainsi de suite. Voici mon code en VB (édulcoré)C# accéder aux propriétés d'un objet d'une classe de collection
Public Function SaveCollection(ByVal objCollection as Object, ByVal TableName as string, ByVal spSave as string)
Dim objClass as Object
Dim propInfo as PropertyInfo
For Each objClass in objCollection
propInfo = objClass.GetType.GetProperty("TableFieldName")
Next
End Function
Je rencontre des problèmes en C# avec le objClass.GetType.GetProperty ("TableFieldName") ligne
Voici mon code C#
public in SaveCollection(DictionaryBase objCollection, string TableName, string spSave)
{
PropertyInfo propInfo;
foreach (DictionaryEntry objClass in objCollection)
{
propInfo = objClass.GetType().GetProperty("TableFieldName")
}
}
Le code C# continue de renvoyer la valeur null. Dans la fenêtre de mes locaux, je peux voir les propriétés de la classe sur objClass et la valeur de la propriété, mais je peux sembler comprendre comment y accéder à travers le code. J'ai utilisé le DictionaryBase parce que cela semble correspondre étroitement que je devrais faire. Ma classe de données (Contact) a un groupe ou des propriétés qui correspondent aux noms de champs dans la base de données de la table des contacts. Après avoir obtenu l'ensemble de variables propInfo, j'ai ensuite configuré mon paramètre SQLParameter avec le nom de champ, le type de données, etc., puis définissez la valeur sur propInfo.value.
Merci pour l'aide.
Merci. Votre extrait de code m'a amené dans la bonne direction. – VBCSharp
de rien. –