具有参数类型的 C# Func 委托(delegate)

标签 c# parameters delegates lambda

如何在 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 answerthis 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/

相关文章:

objective-c - 将委托(delegate)分配给 CALayer 的子层会抛出 EXC_BAD_ACCESS?

c# - 用于多个方法调用的 Func 委托(delegate)

c# - 从n个连续数字中随机选择数字

c# - 检查不同类的属性

c++ - 使用 Google C++ Mocking Framework (Google Mock) (V1.5) 将任意参数传递给调用的方法

Powershell - 如何将命令行参数传递给模块中的函数?

ios - 尝试使用 -(BOOL) textFieldShouldReturn :(UITextField *)textField; to make the keyboard go away in a subview

c# - ASP.NET session 过期时间

c# - 当 nvarchar(max) 的上限为 4000 个字符时,无法存储 HTML 页面

java - 将 HashMap 作为 FitNesse 中的参数传递