J'ai un bloc de code qui sérialise un type dans une balise Html.
Type t = typeof(T); // I pass <T> in as a paramter, where myObj is of type T
tagBuilder.Attributes.Add("class", t.Name);
foreach (PropertyInfo prop in t.GetProperties())
{
object propValue = prop.GetValue(myObj, null);
string stringValue = propValue != null ? propValue.ToString() : String.Empty;
tagBuilder.Attributes.Add(prop.Name, stringValue);
}
Cela fonctionne très bien, sauf que je veux seulement faire cela pour les types primitifs, comme int
, double
, bool
etc, et d' autres types qui ne sont pas primitifs , mais peut être sérialisé facilement comme string
. Je veux qu'il ignore tout le reste, comme les listes et autres types personnalisés.
Quelqu'un peut-il suggérer comment je fais cela? Ou dois-je spécifier les types que je souhaite autoriser quelque part et activer le type de propriété pour voir s'il est autorisé? C'est un peu brouillon, donc ce serait bien s'il y avait un moyen plus ordonné.
System.String
n'est pas un type primitif.