C# Func делегируют с типом параметрических усилителей

Как в C# сделайте у меня есть a Func параметр, представляющий метод с этой подписью?

XmlNode createSection(XmlDocument doc, params XmlNode[] childNodes)

Я пытался иметь параметр типа Func но, ох, ReSharper/Visual Studio 2008 сходит с ума, выделяя это в красном.

Обновление: хорошо, поиск с помощью Google для 'c# параметрические усилители func' не привел ни к каким результатам, но 'c# делегат параметрических усилителей' привел меня к этому вопросу. Ответ следующего Jon Skeet там, это похоже, возможно, что я мог создать a delegate, сказать Foo, и затем вместо того, чтобы иметь параметр к моему методу типа Func, Я беру параметр типа Foo.

11
задан Community 23 May 2017 в 10:34
поделиться

3 ответа

Ответ Jon Skeet на этот другой вопрос заставил меня попробовать следующее, что работает:

protected delegate XmlNode CreateSection(XmlDocument doc,
    params XmlNode[] childNodes);

protected static void createOrUpdateSettingTree(XmlNode rootNode,
    XmlDocument doc, CreateSection createSection) { ... }
11
ответ дан 3 December 2019 в 07:36
поделиться

Вы не можете иметь params в объявлении делегата. Однако вы можете взять один массив, который подойдет для того, что вам нужно: Func.

5
ответ дан 3 December 2019 в 07:36
поделиться

Я полагаю, что в этом случае использование параметра «params» запрещено.

0
ответ дан 3 December 2019 в 07:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: