Red de conocimiento informático - Computadora portátil - Cómo utilizar la reflexión en C# para determinar si un atributo es int, datetime u otro tipo de valor

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? "'";

}

}