我想从以下流畅函数中获取布尔值:
public IGridWithOptions<T> CursorPointerWhen(Func<T, bool> propertySpecifier)
{
bool r = ????
return this;
}
如何做到这一点?
答案 0 :(得分:4)
您可以在班级中调用method
,因为您有第一个T
参数,示例:
T argument = /* get a instance of generic T argument */;
bool r = propertySpecifier(argument);
答案 1 :(得分:3)
您需要拥有 T
值才能致电代表:
public IGridWithOptions<T> CursorPointerWhen(Func<T, bool> propertySpecifier)
{
T input = GetInputFromSomewhere();
bool r = propertySpecifier(input);
// ...
return this;
}
没有T
,这是不可能的。例如,考虑一下:
Func<string, bool> longString = x => x.Length > 100;
那是什么“价值”?它只在特定字符串的上下文中有意义。我们没有太多关于您在这里尝试做什么的信息,但是您需要从某个地方获取T
的实例 - 或者更改您的方法参数。