public static void Test<T>(T data)
{
Type type = typeof(T);
foreach(var item in type.GetRuntimeProperties())
{
if(!item.CanRead || !item.GetMethod.IsPublic)
{
continue;
}
Debug.Log($"属性名称:{item.Name},类型:{item.PropertyType.Name},值:{item.GetValue(data)}");
}
var fields = type.GetRuntimeFields().Where(f => f.IsPublic).ToArray();
foreach(var item in fields)
{
Debug.Log($"字段名称:{item.Name},类型:{item.FieldType.Name},值:{item.GetValue(data)}");
}
}
C#通过反射获取类中字段和属性
最新推荐文章于 2024-05-02 15:30:27 发布