无法将类型 'Expression<System.Func<TP,Action>>' 转换为 'Expression<System.Func<TP,BasePageElement>>'

Cannot convert type 'Expression<System.Func<TP,Action>>' to 'Expression<System.Func<TP,BasePageElement>>'

我有 2 个 类: - BasePageElement(父级) 和动作(BasePageElement 的子级)。

我有两种方法:

public void Click(Expression<Func<TP, Action>> action)
    {
       WaitSomething(action);
       some code
    }

    public void WaitSomething(Expression<Func<TP, BasePageElement>> action)
    {

    }

所以我在点击方法中遇到了问题,因为无法将类型 Expression< Func< TP,Action>> 转换为 Expression< Func< TP,BasePageElement>>
我该如何解决?

您的问题是您尝试将子项 class (Action) 转换为父项 class (BasePageElement)。那是不可能的。只有反过来才有可能。

因此您必须手动转换 Expression<Func<TP, Action>> 变成 Expression<Func<TP, BasePageElement>> 然后使用转换后的值作为参数调用 WaitForSomething。