c# - Invoke 需要一个参数
问题描述
public static void WaitUntilElementVisible(Action<string> preAction = null)
{
preAction?.Invoke();
}
static void Main(string[] args)
{
WaitUntilElementVisible((str) => PanelHandler("in"));
}
public static void PanelHandler(string className)
{
// do something
}
PanelHandler("in")
如果方法内不为空,我想执行WaitUntilElementVisible()
。然而,Invoke()
期望一个字符串。但奇怪的是,当我这样做时,我已经给了它一个字符串,我WaitUntilElementVisible(() => PanelHandler("in"));
怎样才能让 Invoke 使用我通过 lambda 传递的字符串?
我想以调用withWaitUntilElementVisible()
的方式 WaitUntilElementVisible()
调用。PanelHandler
"in"
解决方案
问题是由于您声明了 WaitUntilElementVisible,声明
public static void WaitUntilElementVisible(Action<string> preAction = null)
声明一个接受字符串参数的委托,也就是说,它期望对 WaitUntilElementVisible 的调用如下所示:
WaitUntilElementVisible(someString => PanelHandler(someString));
在 WaitUntilElementVisible 将字符串提供给您的委托的情况下,这将很有用。
你想要的是 WaitUntilElementVisible 的声明
public static void WaitUntilElementVisible(Action preAction = null)
这意味着它需要一个不带参数的委托。
推荐阅读
- pega - 检查用户在 PEGA 中输入值时数据库中是否已存在用户名
- c++ - 类型转换 std: :vector
到 Eigen: :VectorXd? - android - Admob 奖励视频 - 广告未加载
- php - Laravel Echo 和 Laravel Ajax 身份验证失败期间的间歇性 419、401、403
- javascript - 尽管满足停止条件,递归函数仍不返回
- reactjs - 在 PWA 中使用 Service Worker 请求延迟器
- javascript - 获取后的 AJAX,数据加载多个脚本
- python - 气流未在完整的 dag 中拾取已清除的任务
- python - 使用 BeautifulSoup 429 错误使用 Python 进行 Web 抓取
- angular - IPv4 模式正则表达式不起作用 angular6