Mam blok kodu, który serializuje typ do tagu 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);
}
Działa to doskonale, z wyjątkiem chcę, żeby to zrobić tylko dla typów pierwotnych, jak int
, double
, bool
itp, i inne typy, które nie są prymitywne, ale może być łatwo jak serializacjistring
. Chcę, aby ignorował wszystko inne, takie jak listy i inne typy niestandardowe.
Czy ktoś może zasugerować, jak to zrobić? A może muszę określić typy, na które chcę zezwolić, i włączyć typ właściwości, aby sprawdzić, czy jest dozwolony? To trochę bałaganiarskie, więc byłoby miło, gdybym był bardziej uporządkowany.
System.String
nie jest typem pierwotnym.