コントローラーのアクション メソッドにカスタム フィルターを渡したいです。私はそれをそのように定義しようとします。
public ActionResult GetResult(Func<Fault,bool> filter)
{
List<Fault> faultList;
using (var _context = new myDB())
{
faultList =
from f in _context.Faults
where filter(f)
select f;
}
return Json(faultList);
}
しかし、アクションを実行するとエラーが発生します
このオブジェクトにはパラメーターなしのコンストラクターが定義されていません。
System.RuntimeTypeHandle.CreateInstance (RuntimeType タイプ、ブール型 publicOnly、ブール型 noCheck、ブール型 & canBeCached、RuntimeMethodHandleInternal & ctor、ブール型 & bNeedSecurityCheck) で System.RuntimeType.CreateInstanceSlow (ブール型 publicOnly、ブール型 skipCheckThis、ブール型 fillCache、StackCrawlMark & stackMark) で System.RuntimeType.CreateInstanceDefaultCtor (Boolean publicOnly、Boolean skipCheckThis、Boolean fillCache、StackCrawlMark& stackMark) System.Activator.CreateInstance(Type タイプ、Boolean nonPublic) で System.Activator.CreateInstance(Type タイプ) System.Web.Mvc.DefaultModelBinder.CreateModel(ControllerContext controllerContext、 ModelBindingContext bindingContext、型 modelType) で System.Web.Mvc.DefaultModelBinder.BindComplexModel (ControllerContext controllerContext、System.Web.Mvc.ControllerActionInvoker.GetParameterValue(ControllerContext controllerContext、ParameterDescriptor parameterDescriptor) で System.Web.Mvc.ControllerActionInvoker.GetParameterValues(ControllerContext controllerContext) で System.Web.Mvc.DefaultModelBinder.BindModel(ControllerContext controllerContext、ModelBindingContext bindingContext) で ModelBindingContext bindingContext) 、ActionDescriptor actionDescriptor) で System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName) で System.Web.Mvc.Controller.ExecuteCore() で System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext) で System. System.Web.Mvc.MvcHandler.<>c_ の Web.Mvc.ControllerBase.System.Web.Mvc.IController.Execute(RequestContext requestContext)System.Web.Mvc.ControllerActionInvoker.GetParameterValue(ControllerContext controllerContext, ParameterDescriptor parameterDescriptor) の BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext) System.Web.Mvc.ControllerActionInvoker.GetParameterValues(ControllerContext controllerContext, ActionDescriptor actionDescriptor) の System.Web.Mvc.ControllerActionInvoker System.Web.Mvc.ControllerBase.System.Web.Mvc. System.Web.Mvc.MvcHandler.<>c_ の IController.Execute(RequestContext requestContext)System.Web.Mvc.ControllerActionInvoker.GetParameterValue(ControllerContext controllerContext, ParameterDescriptor parameterDescriptor) の BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext) System.Web.Mvc.ControllerActionInvoker.GetParameterValues(ControllerContext controllerContext, ActionDescriptor actionDescriptor) の System.Web.Mvc.ControllerActionInvoker System.Web.Mvc.ControllerBase.System.Web.Mvc. System.Web.Mvc.MvcHandler.<>c_ の IController.Execute(RequestContext requestContext)System.Web.Mvc.ControllerActionInvoker.GetParameterValues(ControllerContext controllerContext, ActionDescriptor actionDescriptor) の GetParameterValue(ControllerContext controllerContext, ParameterDescriptor parameterDescriptor) System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName) の System.Web.Mvc.Controller .ExecuteCore() で System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext) で System.Web.Mvc.ControllerBase.System.Web.Mvc.IController.Execute(RequestContext requestContext) で System.Web.Mvc.MvcHandler.< >c_System.Web.Mvc.ControllerActionInvoker.GetParameterValues(ControllerContext controllerContext, ActionDescriptor actionDescriptor) の GetParameterValue(ControllerContext controllerContext, ParameterDescriptor parameterDescriptor) System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName) の System.Web.Mvc.Controller .ExecuteCore() で System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext) で System.Web.Mvc.ControllerBase.System.Web.Mvc.IController.Execute(RequestContext requestContext) で System.Web.Mvc.MvcHandler.< >c_InvokeAction(ControllerContext controllerContext, String actionName) で System.Web.Mvc.Controller.ExecuteCore() で System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext) で System.Web.Mvc.ControllerBase.System.Web.Mvc.IController .Execute(RequestContext requestContext) で System.Web.Mvc.MvcHandler.<>c_InvokeAction(ControllerContext controllerContext, String actionName) で System.Web.Mvc.Controller.ExecuteCore() で System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext) で System.Web.Mvc.ControllerBase.System.Web.Mvc.IController .Execute(RequestContext requestContext) で System.Web.Mvc.MvcHandler.<>c_DisplayClass6 .<>c _DisplayClassb.b_ 5() System.Web.Mvc.Async.AsyncResultWrapper.<>c _DisplayClass1.b_ 0() System.Web.Mvc.Async.AsyncResultWrapper.<>c _DisplayClass8
1.b__7(IAsyncResult _) at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult
1.End( ) System.Web.Mvc.MvcHandlerで。 Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult) で System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult 結果) で System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute( ) System.Web.HttpApplication.ExecuteStep (IExecutionStep ステップ、ブール値 & completedSynchronously) で
そのようなことをすることは可能ですか?
デリゲートを渡さない場合、別の方法を提案できますか?