Tengo un bloque de código que serializa un tipo en una etiqueta 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);
}
Esto funciona muy bien, excepto lo quiero sólo para hacer esto para los tipos primitivos, como int
, double
, bool
etc., y otros tipos que no son primitivos, pero se puede serializar fácilmente como string
. Quiero que ignore todo lo demás, como listas y otros tipos personalizados.
¿Alguien puede sugerir cómo hago esto? ¿O necesito especificar los tipos que quiero permitir en algún lugar y activar el tipo de propiedad para ver si está permitido? Eso es un poco desordenado, por lo que sería bueno si hubiera una forma más ordenada.
System.String
No es un tipo primitivo.