internal static ClrValueType?TryGetValueClassField(this ClrObject clrObject, string fieldName) { if (!clrObject.IsNull) { ClrInstanceField?field = clrObject.Type?.GetFieldByName(fieldName); if (field?.Type is object && field.Type.IsValueType) { // System.Console.WriteLine("{0} {1:x} Field {2} {3} {4} {5}", clrObject.Type.Name, clrObject.Address, fieldName, field.Type.Name, field.Type.IsValueType, field.Type.IsRuntimeType); return(clrObject.ReadValueTypeField(fieldName)); } } return(null); }