У мене є блок коду, який серіалізує тип у тег 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
. Я хочу, щоб вона ігнорувала все інше, як списки та інші користувацькі типи.
Хтось може підказати, як я це роблю? Або мені потрібно вказати типи, які я хочу десь дозволити, і ввімкнути тип властивості, щоб побачити, чи це дозволено? Це трохи безладно, тому було б непогано, якби я був там охайнішим способом.
System.String
не є примітивним типом.