gpt4 book ai didi

c# - 转换 System.Func

转载 作者:行者123 更新时间:2023-11-30 14:15:35 25 4
gpt4 key购买 nike

我正在重构一些使用以下结构的代码。我希望能够做的是使它成为通用的,这样我就可以在 Func 中拥有其他参数类型。

IDictionary<string, Func<Employee, string>>

我尝试使用:

IDictionary<string, Func<Object, string>>

然后将其投回去:

(IDictionary<string, Func<Object, string>>)myDictionary

但是我得到一个异常,说我无法转换

Unable to cast object of type'System.Collections.Generic.Dictionary2[System.String,System.Func2...

我一直在玩泛型,但这似乎只是因为我无法在我的类里面设置和泛型字段而让我走得更远

private IDictionary<string, Func<T, string>> lineSpecification;

一直在兜圈子,所以任何指点都将不胜感激。

编辑:

这是我收到的完整异常消息:

System.InvalidCastException : Unable to cast object of type 'System.Collections.Generic.Dictionary`2[System.String,System.Func`2[DataObjects.Employee,System.String]]' to type 'System.Collections.Generic.IDictionary`2[System.String,System.Object]'.

最佳答案

那不是类型安全的。

如果这是合法的,如果您通过 Car 会发生什么?转换为其中一个值(实际上是 Func<Employee, string> )?

关于c# - 转换 System.Func<T>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9793334/

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