public static string?TryGetExceptionMessage(ObjectMirror exObj) { var field = GetField(exObj.Type, KnownMemberNames.Exception_Message_FieldName, KnownMemberNames.Exception_Message_FieldName_Mono); if (field is null) { return(null); } var value = exObj.GetValue(field); if (value is StringMirror sm) { return(sm.Value ?? dnSpy_Debugger_DotNet_Mono_Resources.ExceptionMessageIsNull); } if (value is null || (value is PrimitiveValue pv && pv.Value is null)) { return(dnSpy_Debugger_DotNet_Mono_Resources.ExceptionMessageIsNull); } return(null); }
public override Value Load() => objectMirror.GetValue(field);