gpt4 book ai didi

c# - 将 lambda 表达式转换为 Func, IDisposable>

转载 作者:行者123 更新时间:2023-11-30 12:10:36 26 4
gpt4 key购买 nike

我在 Programming C# 5.0 中阅读了以下示例。为什么可以将此 lambda 表达式转换为 Func<IObserver<char>, IDisposable>当它不返回 IDisposable 时。

IObservable<char> singularHotSource = Observable.Create(
(Func<IObserver<char>, IDisposable>)(obs =>
{
while (true)
{
obs.OnNext(Console.ReadKey(true).KeyChar);
}
}));

最佳答案

正如@Patryk 指出的那样,这基本上与询问相同:“为什么允许它说它返回 int,而实际上它不返回?”:

    int SomeMethod()
{
while (true) { }
}

并通过回答;它不会在任何代码路径中返回一些不同(另一种类型,或void)——当然,为什么不呢;编译器可以将其表示为返回 int 的方法。

关于c# - 将 lambda 表达式转换为 Func<IObserver<char>, IDisposable>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17941933/

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