0
아래 클래스가 있는데 어떻게 클래스의 생성자를 명시 적으로 호출 할 수 있습니까?C에서 명시 적으로 generic 클래스의 생성자를 호출하는 방법 #
[TestFixture(typeof(ChromeDriver))]
public class BaseWebDriver<TWebDriver> where TWebDriver : IWebDriver, new()
{
public IWebDriver Driver { get; set; }
public WebDriverWait wait;
public BaseWebDriver()
{
Driver = new TWebDriver();
}
[OneTimeSetUp]
public virtual void SetupTest()
{
// Go to the login page
Driver.Navigate().GoToUrl("LoginUrl");
}
[OneTimeTearDown]
public virtual void TearDownTest()
{
Driver.Quit();
Driver.Dispose();
Console.WriteLine("***TearDown***\n");
}
public void restartBrowser()
{
Driver.Quit();
//Here I have to call the constructor of the class to open the browser again
}
}
파생 클래스에서 생성자를 호출 할 수 있습니까? 나는 제네릭을 처음 사용하므로 친절하게 도움이됩니다.
질문에 의미가 없습니다. 'new blah()'를 호출하면 생성자를 호출합니다. 생성자 밖에서 해당 기능이 필요하면 자체 공용 메서드로 이동하십시오. – DavidG
'Driver = new TWebDriver();'를 다시 사용하지 않는 이유는 무엇입니까? 원하는 경우 별도의 함수로 리팩터링하고 생성자와 'restartBrowser'에서 호출 할 수 있습니다. –
감사합니다 Andrew, Driver = new TWebDriver()가 올바르게 작동합니다. –