/// <summary> /// Gets the named property /// </summary> /// <param name='type'> /// Type. /// </param> /// <param name='name'> /// Name. /// </param> public object GetProperty(object obj, string name) { // send request var req = new CLRGetPropertyMessage(obj, name); CLRMessage.Write(_cout, req); // get response return(CLRMessage.ReadValue(_cin)); }
/// <summary> /// Gets property on object. /// </summary> /// <param name="req">Req.</param> private void HandleGetProperty(CLRGetPropertyMessage req) { try { // get object var obj = ToLocalObject(req.Obj); // invoke var result = _api.GetProperty(obj, req.PropertyName); CLRMessage.WriteValue(_cout, result); } catch (TargetInvocationException te) { CLRMessage.WriteValue(_cout, te.GetBaseException()); } catch (Exception e) { CLRMessage.WriteValue(_cout, e); } }