bool属性为Func<;bool>;转换

本文关键字:bool gt 转换 属性 lt Func | 更新日期: 2023-09-27 18:01:01

我的类中有boolean属性。我想把它作为参数传递给某个需要Func的函数。有什么方法可以转换吗?或者我应该只生成一个返回bool而不是属性的函数?

bool属性为Func<;bool>;转换

如果函数真的需要一个Func<bool>(一个不带参数并返回bool的函数(,您可以这样做:

SomeFunction( () => myClass.BoolProperty);

您可以传递lambda:

FuncToCall(((=>myObject。MyBoolProperty(;

怎么样

SomeFunction(()=>SomeBool);

其中SomeBool是类的布尔属性。

在函数中传递属性

Method1(c=> MyProperty);

func/属性看起来像这个

public bool MyProperty
{
   get { return true; }
}
public void Method1(Func<bool, bool> func)
{ 
}

如果函数期望一个函数只返回如下的bool:

public void Method1(Func<bool> func)
{ 
}

这就是称之为的方法

Method1(()=> MyProperty);