Cómo utilizar la reflexión en C# para determinar si un atributo es int, datetime u otro tipo de valor
Type?t?=?obj.GetType(); //Obtener el tipo de esta clase
string?keys?=?string.Empty;
string?values?=?string.Empty;
foreach?(PropertyInfo?pi?in?t.GetProperties())
{
var? name ?=?pi.Name; //Obtiene el nombre del atributo y luego puede realizar algunas operaciones que desee según el nombre.
var?value?=?pi.GetValue(obj, ?null) ;//Utilice pi.GetValue para obtener el valor
var?type?=?value?.GetType()typeof(object);//Obtenga el tipo del atributo
si?(null ?==?nombre?amp;amp;?null?==?valor)
{
continuar;
}
if?(string.IsNullOrEmpty(keys))
{
keys? =?name;
}
else
{
claves? =?","?nombre;
}
si?(Escriba. Equals(type,?typeof( DateTime)))//Juzgue si es el tipo que configuró (por ejemplo, hora)
{
value?=?((DateTime) value).ToString("yyyy- MM-dd?HH:mm:ss");
}
if?(string.IsNullOrEmpty(values))
{
valores? =?"'" valor "'";
}
else
{
valores? =?" , "? ?"'"? valor? "'";
}
}