我有两节课: - BasePageElement(parent) 和Action(BasePageElement的子)。
我有两种方法:
public void Click(Expression<Func<TP, Action>> action)
{
WaitSomething(action);
some code
}
public void WaitSomething(Expression<Func<TP, BasePageElement>> action)
{
}
所以我在click方法中遇到了问题,因为无法转换类型Expression&lt; FUNC&LT; TP,作用&gt;&GT;表达&lt; FUNC&LT; TP,BasePageElement&GT;&GT;
我该如何解决?
答案 0 :(得分:1)
您的问题是您尝试将子类(Action)转换为父类(BasePageElement)。这是不可能的。只有相反的方式是可能的。
因此您必须手动转换
Expression<Func<TP, Action>>
Expression<Func<TP, BasePageElement>>
id | city_id | address
-----------------------------
7 | 1 | null/Street39
8 | 2 | null/Street40
9 | 3 | null/Street41
10 | 4 | null/Street42
city table
id | name
---------------
1 | Mexico
2 | New York
3 | Washington
4 | Los Angeles
然后使用转换后的值作为参数调用WaitForSomething。