Je dois convertir à partir d'une chaîne qui contient des données en un objet de quel type qui est passé en utilisant la réflexion. J'ai un objet non sérialisable qui contient des propriétés de tout type, et je veux charger des données à cet objet. Par exemple, cet objet a la propriété Color BgColor
. Lorsque j'essaie de définir la valeur "Rouge" sur cette propriété, j'obtiens que la conversion n'est pas possible de la chaîne à la couleur. J'ai besoin de code général.Comment convertir une chaîne de caractères à un objet de n'importe quel type?
Répondre
Tenir compte Generalized Type Conversion
Essayez Convert.ChangeType
pour les conversions générales.
Mais dans votre cas, je pense que la méthode Color.FromName
serait le mieux:
crée une structure de couleur du nom spécifié d'une couleur prédéfinie.
Non, malheureusement, je sais à ce sujet, et il ne suffit pas, peut-il convertir 120 à System.Web.UI.WebControls.Unit par exemple? en XML j'ai une chaîne et le type de propriété width est l'unité –
Existe-t-il une méthode générale? Ou je devrais utiliser l'interrupteur ou essayer de trouver la méthode d'analyse par réflexion? –
Si tout ce que vous devez faire est de convertir une chaîne à sa valeur dans un enum
, vous pouvez utiliser un code similaire à ce qui suit:
public static T ToEnum<T>(this string original)
{
Array values = Enum.GetValues(typeof(T));
foreach (T value in values)
{
if (value.ToString().ToUpperInvariant() == original.ToUpperInvariant())
return value;
}
throw new NotFoundException();
}
Si vous avez besoin de convertir d'autres types, alors peut-être préciser types et les formats de la chaîne peuvent aider les gens à mieux vous diriger.
le type de propriété n'est pas toujours une énumération, je charge les contrôles ASP.NET de xml et je veux définir toutes les propriétés de contrôle à partir des valeurs xml, mais ASP.NET convertit en quelque sorte 129 px en UNit type, dans mon cas j'obtiens une erreur –
- 1. Comment convertir un type de valeur converti en objet en chaîne à l'aide de XmlConvert?
- 2. Comment jeter dynamiquement un objet de type chaîne à un objet de type T
- 3. comment faire subonic convertir une chaîne à mon personnalisé Type
- 4. Comment convertir un objet en type décrit par Type classe?
- 5. Comment convertir une chaîne en tableau de caractères dans c (ou) comment extraire une chaîne de caractères char unique?
- 6. La meilleure façon de convertir une gamme de chaîne Ruby à un objet Range
- 7. Comment terminer un tableau de caractères avant de convertir en une chaîne en Java
- 8. Chaîne de variable à un objet DefaultMutableTreeNode?
- 9. Comment convertir un nom de fonction en une chaîne
- 10. Convertir un objet en une chaîne en PHP
- 11. comment convertir une chaîne passée dans un constructeur à Uri?
- 12. Convertir une chaîne en objet de classe Python?
- 13. Comment convertir une chaîne JSON en objet JavaScript dans jQuery?
- 14. Comment stocker des paires objet/chaîne sans conserver les objets, et quel type de stockage utiliser?
- 15. convertir une chaîne à un format de date
- 16. Convertir une chaîne de base25 à chaîne binaire en Java
- 17. Quel type de données est dans une constante de type "enum"? Comment l'ajouter à un NSArray?
- 18. C# - Convertir un tableau de type à une liste générique
- 19. Impossible de convertir un objet de type WhereListIterator <system.web.Mvc.ListItem> en type system.web.mvc.listitem
- 20. LINQ Problème: Impossible de convertir un objet de type 'System.Reflection.Module' en type 'System.Reflection.Emit.ModuleBuilder
- 21. Quel type de structure de données OO dois-je utiliser pour ces données de chaîne?
- 22. XSD: comment limiter le nombre de caractères dans un attribut de type chaîne?
- 23. Comment convertir un ensemble de données en objet de type fort?
- 24. Comment obtenir les chiffres d'un nombre sans le convertir en une chaîne de caractères/tableau de caractères?
- 25. convertir la chaîne de caractères hexadécimale en entier en Java
- 26. Convertir une chaîne JSON en objet dans J2ME?
- 27. De la chaîne FullyName à l'objet Type
- 28. Comment convertir (translittérer) une chaîne de utf8 en ASCII (un seul octet) dans C#?
- 29. Comment convertir un .net type de collection en collection VBA?
- 30. Comment convertir un IntPtr de nouveau dans un objet
Merci beaucoup, ça marche –