如何在 C# 中获得 Func
表示具有此签名的方法的参数?
XmlNode createSection(XmlDocument doc, params XmlNode[] childNodes)
我尝试使用 Func<XmlDocument, params XmlNode[], XmlNode>
类型的参数但是,哦,ReSharper/Visual Studio 2008 疯狂地用红色突出显示它。
更新: 好的,谷歌搜索“c# params func”没有结果,但是“c# params delegate”让我找到了 this question .按照 Jon Skeet 的回答,看起来我可以创建一个 delegate
,说 Foo
, 然后我的方法没有参数 Func<XmlDocument, params XmlNode[], XmlNode>
,我采用 Foo
类型的参数.
最佳答案
Jon Skeet's answer至 this other question让我尝试了以下方法,这很有效:
protected delegate XmlNode CreateSection(XmlDocument doc,
params XmlNode[] childNodes);
protected static void createOrUpdateSettingTree(XmlNode rootNode,
XmlDocument doc, CreateSection createSection) { ... }
关于具有参数类型的 C# Func 委托(delegate),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2997843/