2016-07-26 2 views
0

아래 인스턴스 개체를 사용하여 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(); 
    } 


} 

답변

3

모든 방법을 볼 수 있도록 InstanceTrial 클래스의 멤버를 만들어보고 싶을 수도 있지만, 많은, 많은 사람들이있다 more.

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(); 
    } 
} 
1

Instance은"이름 '인스턴스'현재 컨텍스트에 존재하지 않습니다 Initialize()에 "지역 등으로 볼 수없는 Close()는 -.. 당신은 여기에 하나 개의 기사의 당신은 변수 범위에 대한 몇 가지 기사를 읽는 시간을 할애해야

관련 문제