У меня есть блок кода, который сериализует тип в тег 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);
}
Это отлично работает, за исключением того, что я хочу сделать это только для примитивных типов, таких как int
, double
, bool
и т.д. и других типов, которые не являются примитивными, но могут быть легко сериализованы как string
, Я хочу, чтобы он игнорировал все остальное, как Списки и другие настраиваемые типы.
Кто-нибудь может предложить, как я это делаю? Или мне нужно указать типы, которые я хочу разрешить, и включить тип свойства, чтобы узнать, разрешено ли это? Это немного грязно, так что было бы неплохо, если бы я был более аккуратным способом.