/// <summary> /// Handles the template request /// </summary> /// <param name="req">Req.</param> private void HandleTemplate(CLRTemplateReqMessage req) { try { var type = ReflectUtils.FindType(req.ClassName); CLRMessage.Write(_cout, new CLRTemplateReplyMessage(type)); } catch (Exception e) { CLRMessage.WriteValue(_cout, e); } }
/// <summary> /// Calls a static method. /// </summary> /// <param name="req">Req.</param> private void HandleCallStaticMethod(CLRCallStaticMethodMessage req) { try { var obj = _api.CallStaticMethodByName(req.ClassName, req.MethodName, req.Parameters); CLRMessage.WriteValue(_cout, obj); } catch (TargetInvocationException te) { CLRMessage.WriteValue(_cout, te.GetBaseException()); } catch (Exception e) { CLRMessage.WriteValue(_cout, e); } }
/// <summary> /// Sets static property on class. /// </summary> /// <param name="req">Req.</param> private void HandleSetStaticProperty(CLRSetStaticPropertyMessage req) { try { // invoke _api.SetProperty(req.ClassName, req.PropertyName, req.Value); CLRMessage.WriteValue(_cout, null); } catch (TargetInvocationException te) { CLRMessage.WriteValue(_cout, te.GetBaseException()); } catch (Exception e) { CLRMessage.WriteValue(_cout, e); } }
/// <summary> /// Gets static property on class. /// </summary> /// <param name="req">Req.</param> private void HandleGetStaticProperty(CLRGetStaticPropertyMessage req) { try { // invoke var result = _api.GetStaticProperty(req.ClassName, req.PropertyName); CLRMessage.WriteValue(_cout, result); } catch (TargetInvocationException te) { CLRMessage.WriteValue(_cout, te.GetBaseException()); } catch (Exception e) { CLRMessage.WriteValue(_cout, e); } }
/// <summary> /// Gets the indexed value on an object /// </summary> /// <param name="req">Req.</param> private void HandleGetIndexed(CLRGetIndexedMessage req) { try { // get object var obj = ToLocalObject(req.Obj); // invoke var result = _api.GetIndexed(obj, req.Index); CLRMessage.WriteValue(_cout, result); } catch (TargetInvocationException te) { CLRMessage.WriteValue(_cout, te.GetBaseException()); } catch (Exception e) { CLRMessage.WriteValue(_cout, e); } }
/// <summary> /// Sets property on object. /// </summary> /// <param name="req">Req.</param> private void HandleSetProperty(CLRSetPropertyMessage req) { try { // get object var obj = ToLocalObject(req.Obj); // invoke _api.SetProperty(obj, req.PropertyName, req.Value); CLRMessage.WriteValue(_cout, null); } catch (TargetInvocationException te) { CLRMessage.WriteValue(_cout, te.GetBaseException()); } catch (Exception e) { CLRMessage.WriteValue(_cout, e); } }
/// <summary> /// Calls a method. /// </summary> /// <param name="req">Req.</param> private void HandleCallMethod(CLRCallMethodMessage req) { try { // get object var obj = ToLocalObject(req.Obj); // invoke var result = _api.CallMethod(obj, req.MethodName, req.Parameters); CLRMessage.WriteValue(_cout, result); } catch (TargetInvocationException te) { CLRMessage.WriteValue(_cout, te.GetBaseException()); } catch (Exception e) { CLRMessage.WriteValue(_cout, e); } }