这很可能不是它的名字-我根本不知道它的名字是什么...
所以最近,我正在从事的项目让我开始思考(我之前在某处也看到过)如何实现以下设计。
这看起来像是一个表达体,但对于我的一生,我无法让它以某种方式起作用。
基本上我想要实现的是编写以下内容(在剃须刀上应该有所作为):
@(
AIHelper.CreateQuickForm<LoginModel>(formId: "myCustomId", formMethod: FormMethod.Post)
.HtmlAttributes(new { @class = "another damn class" })
.ShowSubmit()
.On(x => { x.OnSubmit("onFormSubmit"); e.OnCancel("onFormCancel"); })
)
现在-我的问题是如何实现.On
部分。
.On(x => { x.OnSubmit("onFormSubmit"); e.OnCancel("onFormCancel"); })
我尝试使用:
public QuickFormEvents On(Func<QuickFormEvents> expr)
{
return _Events;
}
我在哪里找不到我想要的东西。
我确实定义了一个类,应该将其“注入”(我们甚至可以称呼它)到名为QuickFormEvents
的表达式主体中。
任何朝着正确方向的指针都会得到体现。
答案 0 :(得分:4)
您的On
方法应采用Action<Something>
,而不是Func
。它需要一个参数,但不返回任何内容。
您可能想要类似的东西:
public Something On(Action<SomethingElse> action)
{
// store or invoke 'action', passing something as appropriate
return this; // return this to allow chaining
}