Ich habe einen Codeblock, der einen Typ in ein HTML-Tag serialisiert.
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);
}
Dies funktioniert gut, außer ich will dies nur tun , für primitive Typen, wie int
, double
, bool
usw., und andere Arten , die nicht primitiv sind , aber leicht wie serialisiert werden string
. Ich möchte, dass alles andere wie Listen und andere benutzerdefinierte Typen ignoriert wird.
Kann mir jemand vorschlagen, wie ich das mache? Oder muss ich die Typen angeben, die ich irgendwo zulassen möchte, und den Typ der Eigenschaft aktivieren, um zu sehen, ob dies zulässig ist? Das ist ein bisschen chaotisch, also wäre es schön, wenn ich einen ordentlicheren Weg hätte.
System.String
ist kein primitiver Typ.