Problème: Une liste T d'objet (aTSource) contient une liste de noms de champs avec des espaces et des traits de soulignement supplémentaires qui empêchent les correspondances avec une variable sans.Suppression d'espaces et de traits de soulignement d'une liste T
J'ai une liste T d'objet de ma classe Model. Cette liste comprend un nom de champ, une valeur et le type de champ. Je veux aller dans les noms de champs et supprimer tous les espaces et les traits de soulignement du nom.
Le but du code est de comparer les champs d'un document Excel et d'un formulaire WPF et de renvoyer une liste de ces noms de champs en commun.
foreach (DataRow dataRow in dataTable.AsEnumerable().ToList())
{
T aTSource = new T();
foreach (PropInfo aField in commonFields)
{
PropertyInfo propertyInfos = aTSource.GetType().GetProperty(aField.Name);
var value = (dataRow[afield.Name] == DBNull.Value) ? null : dataRow[afield.Name];
...
propertyInfos.SetValue(aTSource, value, null);
list.Add(aTSource);
}
}
valeurs de l'échantillon de aTSource:
IP_Address null string
Product Name null string
Merci pour la suggestion, cependant, je cherchais vraiment un moyen de changer les noms de champs d'une liste T. "IP_Address" deviendrait "IPAddress" et "Product Name" deviendrait "ProductName". J'ai fini par résoudre ce problème en remplaçant le trait de soulignement et les espaces vides par un autre caractère "^", puis en faisant une comparaison pour ce nouveau caractère. – Kahlan