public IHtmlString DisplayChildren(dynamic shape) { var writer = new HtmlStringWriter(); foreach (var item in shape) { writer.Write(Display(item)); } return(writer); }
private IHtmlString PerformInvoke(DisplayContext displayContext, MethodInfo methodInfo, object serviceInstance) { var output = new HtmlStringWriter(); var arguments = methodInfo.GetParameters() .Select(parameter => BindParameter(displayContext, parameter, output)); var returnValue = methodInfo.Invoke(serviceInstance, arguments.ToArray()); if (methodInfo.ReturnType != typeof(void)) { output.Write(CoerceHtmlString(returnValue)); } return(output); }
private IHtmlString PerformInvoke(DisplayContext displayContext, MethodInfo methodInfo, object serviceInstance) { var output = new HtmlStringWriter(); var arguments = methodInfo.GetParameters() .Select(parameter => BindParameter(displayContext, parameter, output)); try { var returnValue = methodInfo.Invoke(serviceInstance, arguments.ToArray()); if (methodInfo.ReturnType != typeof(void)) { output.Write(CoerceHtmlString(returnValue)); } return(output); } catch (TargetInvocationException e) { // Throwing a TIE here will probably kill the web process // in Azure. For unknown reasons. throw new Exception(string.Concat("TargetInvocationException ", methodInfo.Name), e.InnerException); } }