|
|
|
@ -416,6 +416,16 @@ namespace Debugger |
|
|
|
return GetPropertyValue(evalThread, objectInstance, (IProperty)memberInfo, arguments); |
|
|
|
return GetPropertyValue(evalThread, objectInstance, (IProperty)memberInfo, arguments); |
|
|
|
} else if (memberInfo is IMethod) { |
|
|
|
} else if (memberInfo is IMethod) { |
|
|
|
return InvokeMethod(evalThread, objectInstance, (IMethod)memberInfo, arguments); |
|
|
|
return InvokeMethod(evalThread, objectInstance, (IMethod)memberInfo, arguments); |
|
|
|
|
|
|
|
} else if (memberInfo is IEvent) { |
|
|
|
|
|
|
|
string name = memberInfo.Name; |
|
|
|
|
|
|
|
IField f = memberInfo.DeclaringType.GetFields(m => m.Name == name, GetMemberOptions.None).FirstOrDefault(); |
|
|
|
|
|
|
|
if (f == null) { |
|
|
|
|
|
|
|
name += "Event"; |
|
|
|
|
|
|
|
f = memberInfo.DeclaringType.GetFields(m => m.Name == name, GetMemberOptions.None).FirstOrDefault(); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
if (f == null) |
|
|
|
|
|
|
|
throw new GetValueException("Cannot retrieve event value"); |
|
|
|
|
|
|
|
return GetFieldValue(evalThread, objectInstance, f); |
|
|
|
} |
|
|
|
} |
|
|
|
throw new DebuggerException("Unknown member type: " + memberInfo.GetType()); |
|
|
|
throw new DebuggerException("Unknown member type: " + memberInfo.GetType()); |
|
|
|
} |
|
|
|
} |
|
|
|
|