gpt4 book ai didi

c# - 不传递参数调用的方法

转载 作者:行者123 更新时间:2023-11-30 13:54:53 25 4
gpt4 key购买 nike

我是 C# 的初学者。我在我的项目中遇到了以下代码片段。我不明白如何在不传递任何参数的情况下调用 ViewHelper.IsInView。谁能给我解释一下。提前致谢。

public static class ViewHelper
{
public static bool IsInView(IFrameworkElement element)
{
----------
}
}

var Result = Views.Any(ViewHelper.IsInView);

最佳答案

Any方法接受委托(delegate) - 指向函数的指针 - 形式为 Func<T, bool> .这意味着它需要一个方法来接受集合类型的元素(我猜你的情况是IFrameworkElement)并返回一个bool。 - 这正是 IsInView 的签名方法。

Any方法然后对 Views 中的元素执行此委托(delegate)收集直到遇到返回 true 的那个.

在 C# 中,存在从“方法组”到委托(delegate)类型的隐式转换。本质上,当你写的时候

Views.Any(ViewHelper.IsInView)

转化为

Views.Any(new Func<IFrameworkElement, bool>(ViewHelper.IsInView))

关于c# - 不传递参数调用的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38675307/

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