gpt4 book ai didi

powershell - 如何将 PowerShell 函数传递给采用 Func 的 .NET 方法?

转载 作者:行者123 更新时间:2023-12-03 01:19:21 26 4
gpt4 key购买 nike

我需要在 PowerShell 中创建一个 .NET 对象。构造函数的签名是:

public ObjCTor(TClient param1, Func<TClient, IInterface> param2)

该类定义为:
public class ObjCTor<TClient> : IOtherInt1, IOtherInt2 where TClient : ConcreteBase

第一个参数很简单。我被第二个难住了。如何将 PowerShell 函数作为 Func<T1, T2> 传递?

更新

最佳答案

PowerShell 可以将 ScriptBlock 转换为委托(delegate),因此这样的事情可能会正常工作:

$sb = { param($t1) $t1 }
New-Object "ObjCTor[CClient, Func[CClient,IInterface]]" -ArgumentList $param1,$sb

请注意,PowerShell 无法从 ScriptBlock 推导出泛型类型参数。在您的情况下, ObjCTor 看起来像一个泛型类,因此类型推导不是一个因素,但是如果您调用的是泛型方法,事情可能会变得困惑。

关于powershell - 如何将 PowerShell 函数传递给采用 Func<T1, T2> 的 .NET 方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19487189/

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