相关疑难解决方法(0)

使用C#将方法作为参数传递

我有几个方法都具有相同的签名(参数和返回值),但不同的名称和方法的内部是不同的.我想传递方法的名称以运行到另一个将调用传入方法的方法.

public int Method1(string)
{
    ... do something
    return myInt;
}

public int Method2(string)
{
    ... do something different
    return myInt;
}

public bool RunTheMethod([Method Name passed in here] myMethodName)
{
    ... do stuff
    int i = myMethodName("My String");
    ... do more stuff
    return true;
}

public bool Test()
{
    return RunTheMethod(Method1);
}
Run Code Online (Sandbox Code Playgroud)

此代码不起作用,但这是我想要做的.我不明白的是如何编写RunTheMethod代码,因为我需要定义参数.

.net c# methods delegates

646
推荐指数
7
解决办法
61万
查看次数

硒等待方法返回true

我知道 selenium webdriver 可以做到这一点:

var wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10)).Until(ExpectedConditions.VisibilityOfAllElementsLocatedBy(By.ClassName("someclass")));
Run Code Online (Sandbox Code Playgroud)

我不能用我的方法做到这一点吗?例如,我有一种方法可以截取屏幕截图并与另一张图片进行比较。我想等到该方法返回 true。

所以我有这个代码

while (WelcomeScreen(driver) != true)
{
    Thread.Sleep(1000);   
}
Run Code Online (Sandbox Code Playgroud)

我就不能找到更好的解决办法吗?

c# selenium selenium-webdriver

0
推荐指数
1
解决办法
5161
查看次数

标签 统计

c# ×2

.net ×1

delegates ×1

methods ×1

selenium ×1

selenium-webdriver ×1