gpt4 book ai didi

c# - 如何将函数 传递给构造函数?

转载 作者:太空宇宙 更新时间:2023-11-03 23:11:45 27 4
gpt4 key购买 nike

我有一个类的构造函数,如下所示:

public class Class
{
private Func<string, IThirdField, IFourthField, IResultField> resultField;

public Class(
IFirstField firstField,
ISecondField secondField,
Func<string, IThirdField, IFourthField, IResultField> resultField,
ISomeOtherField someOtherField)
}

我正在尝试像这样初始化这个类:

var classObject = new Class (firstField, secondField, 
Func<string, IThirdField, IFourthField, IResultField>
resultField, someOtherField );

我收到以下错误:

  • 使用通用类型“Func”需要 1 个类型参数。

  • 无效的表达式术语“string”。

  • “IThirdField”是一种类型,在给定上下文中无效。

我做错了什么?

最佳答案

您需要传递一个实例来回答 Func 的签名,因此:

var obj = new Class (firstField, 
secondField,
(stringVal, thirdFieldVal, fourthFieldVal) => default(IResultField),
someOtherField);

或者如果你有一个命名函数那么:

var obj= new Class (firstField, 
secondField,
/*your named function*/),
someOtherField);

关于c# - 如何将函数 <in T1, in T2, and T3, out TResult> 传递给构造函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38956064/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com