如何将 String 扩展应用于 Func
我有一个像这样的构造函数签名
public NavigationLink(Func<String> getName,
Func<UrlHelper, String> getURL,
Func<bool> isVisible,
IEnumerable<NavigationLink> subItems)
在该构造函数内,我将 getName 分配给包含类的属性
GetName = getName
我有一个字符串扩展,它对字符串调用 String.CapitalizeWords(); 进行大小写处理;
如何将该扩展应用到 Func?
谢谢
I have a constructor signature like this
public NavigationLink(Func<String> getName,
Func<UrlHelper, String> getURL,
Func<bool> isVisible,
IEnumerable<NavigationLink> subItems)
Inside that constructor I am assigning the getName to a property of the containing class
GetName = getName
I have a string extension that does casing on a string call String.CapitalizeWords();
How do I apply that extension to the Func?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
你可以做
但是为什么你需要一个无参数函数,返回一个字符串而不是字符串本身?
You could do
But why do you need a parameterless function, returning a String instead of the String itself?
那么这是
GetName
属性的签名吗?如果是这样,我想您需要做的就是
否则,如果签名是这样的:
您可能需要做
我希望我理解您的问题:P
So is this the signature for the
GetName
property?If so, I guess all you need to do is
Otherwise if the signature is like this:
you'd probably need to do
I hope I understood your question :P
它将在那里显示运行 getName 的结果,而不是在 getName 本身上。 GetName 是一个将返回字符串的函数的委托;它本身不是一个字符串。您应该能够执行
String CapName = GetName().CapitalizeWords()
。It will be there for the results of running getName, not on getName itself. GetName is a delegate to a function that will return a string; it is not itself a string. You should be able to do
String CapName = GetName().CapitalizeWords()
.