由于我是C#的新手,只是想知道,我能用CQuery执行函数链接吗?
示例jQuery:
$("#gview tbody tr")
.not(":first,:last")
.filter(":odd")
.addClass("someclass")
.css("border","solid 1px grey");
注意:我不是指客户端脚本。我唯一关心的是 C#中是否可以进行函数链接
答案 0 :(得分:9)
是的,只需返回当前对象(this),您就可以根据需要进行链接。它也被称为fluent interface
答案 1 :(得分:6)
是的,你需要考虑使用修改后的Builder Pattern来返回正在处理的对象。
示例:
public class SomeClass
{
public SomeClass doSomeWork()
{
//do some work on this
this.PropertyA = "Somethign";
return this;
}
}
这也称为链接设计模式。
答案 2 :(得分:2)
是的,你可以,但是和jQuery一样,你想要链接的函数必须为它构建。如果你自己构建,只需返回调用者应链接的对象。在C#中链接的一个例子是Fluent nHibernate。
答案 3 :(得分:1)
是。我经常使用它,例如使用StringBuilder:
string s =
new StringBuilder()
.Append(year)
.Append('-')
.Append(month)
.Append('-')
.Append(day)
.ToString();
或者使用我自己的库来创建HTML控件:
Container.Controls.Add(
Tag.Div.CssClass("item")
.AddChild(Tag.Span.CssClass("date").Text(item.Date))
.AddChild(Tag.Span.CssClass("title").Text(item.Title))
);
答案 4 :(得分:0)
是, 试试这个
var s = 19.ToString()。Replace(“1”,“”)。Trim()。ToString(“0.00”);
答案 5 :(得分:0)
您可以像大多数编程语言一样从另一个函数调用一个函数......这一切都取决于您的构建方式。
您可以拥有一个对象:
public class DoMath
{
private int Add2(int piNumber)
{
return piNumber + 2;
}
private int Divideby7(int piNumber)
{
return Divideby7(this.Add2(piNumber));
}
}
答案 6 :(得分:0)
是的,有几个很好的例子说明如何做到这一点。例如,请查看Fluent NHibernate。