在另一个方法中调用方法的对象
本文关键字:方法 对象 调用 另一个 | 更新日期: 2023-09-27 17:59:00
我正在尝试使用下面的实例对象来调用close()方法。它给出了一个错误:名称"实例"在当前上下文中不存在"。有人能建议我做错了什么吗?
public class Trial
{
public static void Initialize()
{
IWebDriver Instance = null;
Instance = new FirefoxDriver();
Instance.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(5));
Instance.Navigate().GoToUrl("www.google.com");
}
public static void Close()
{
Instance.Close();
}
}
您应该花一些时间阅读一些关于变量作用域的文章。这里有一篇这样的文章,但还有很多。
https://msdn.microsoft.com/en-us/library/ms973875.aspx
您最初在Initialize()
方法中声明了Instance
。这意味着它只能在该方法的范围内看到。如果你想在其他地方引用它,你必须在你想访问它的范围内声明它。在代码示例中这样做的一种方法是将Instance
的声明移到Trial
类中。一旦完成,Initialize()
和Close()
方法都在它的(class
)范围内,因此它们都可以访问变量。
public class Trial
{
static IWebDriver Instance = null;
public static void Initialize()
{
Instance = new FirefoxDriver();
Instance.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(5));
Instance.Navigate().GoToUrl("www.google.com");
}
public static void Close()
{
Instance.Close();
}
}
Instance
是Initialize()
的"本地",因此Close()
看不到它-您可能需要考虑将Instance
作为Trial
类的成员,以便所有方法都可以看到它。