我有像这样的构造函数签名
public NavigationLink(Func<String> getName,
Func<UrlHelper, String> getURL,
Func<bool> isVisible,
IEnumerable<NavigationLink> subItems)
在构造函数中,我将getName分配给包含类的属性
GetName = getName
我有一个字符串扩展,它在字符串上调用String.CapitalizeWords();
如何将该扩展应用于Func?
由于
答案 0 :(得分:3)
你可以做到
GetName = () => getName().CapitalizeWords();
但为什么你需要一个无参数函数,返回一个String而不是String本身?
答案 1 :(得分:1)
这是GetName
属性的签名吗?
string GetName{get;set;}
如果是这样,我想你需要做的就是
GetName=getName().CapitalizeWords();
否则,如果签名是这样的:
Func<string> GetName{get;set;}
你可能需要做
GetName=getName;
string caps = GetName().CapitalizeWords();
我希望我理解你的问题:P
答案 2 :(得分:0)
它将存在运行getName的结果,而不是getName本身。 GetName是一个函数的委托,它将返回一个字符串;它本身不是一个字符串。您应该能够String CapName = GetName().CapitalizeWords()
。
答案 3 :(得分:0)
GetName = () => getName().CapitalizeWords();