private static bool HasFieldSimpleValue(ClrValueType item, ClrType type, string fieldName, out string content) { content = null; var typeName = type.Name; switch (typeName) { case "System.Char": content = $"'{item.ReadField<System.Char>(fieldName)}'"; break; case "System.Boolean": content = item.ReadField <System.Boolean>(fieldName).ToString(); break; case "System.SByte": content = item.ReadField <System.SByte>(fieldName).ToString(); break; case "System.Byte": content = item.ReadField <System.Byte>(fieldName).ToString(); break; case "System.Int16": content = item.ReadField <System.Int16>(fieldName).ToString(); break; case "System.UInt16": content = item.ReadField <System.UInt16>(fieldName).ToString(); break; case "System.Int32": content = item.ReadField <System.Int32>(fieldName).ToString(); break; case "System.UInt32": content = item.ReadField <System.UInt32>(fieldName).ToString(); break; case "System.Int64": content = item.ReadField <System.Int64>(fieldName).ToString(); break; case "System.UInt64": content = item.ReadField <System.UInt64>(fieldName).ToString(); break; case "System.Single": content = item.ReadField <System.Single>(fieldName).ToString(); break; case "System.Double": content = item.ReadField <System.Double>(fieldName).ToString(); break; case "System.IntPtr": { var val = item.ReadField <System.IntPtr>(fieldName); content = (val == IntPtr.Zero) ? "null" : $"0x{val.ToInt64():x}"; } break; case "System.UIntPtr": { var val = item.ReadField <System.UIntPtr>(fieldName); content = (val == UIntPtr.Zero) ? "null" : $"0x{val.ToUInt64():x}"; } break; default: return(false); } return(true); }