你好,我有一个像下面的方法:传递许多不同类型的一种方法C#
public EventItemPage LaunchItemsActionByRowIndex(int RowIndex)
{
// does some other stuff
var eventItemPage = new EventItemPage(driver);
eventItemPage.WaitForPageToLoad();
return eventItemPage;
}
public StandardSalesforcePage LaunchViewActionByRowIndex(int RowIndex, string actionItem)
{
// Does the same as above method
var bookDetailPage = new StandardSalesforcePage(driver);
bookDetailPage.WaitForPageToLoad();
return bookDetailPage;
}
我想这两种方法将它们合并,并在传递类作为参数,并移动到一个新的类,将被上面列出的类继承。我需要访问类的一些方法,并且还要确保构造函数被调用。我试图使用下面的创建实例激活器,但不认为我正确使用它。
object obj = (yourPage)Activator.CreateInstance(typeof(StringBuilder), yourPage);
我一直在研究很多,但是如果可能或者不可能,我很困惑。上面我没有提到,我们将一个selenium驱动实例传递给我们将要使用的类的构造函数。
“将被上面列出的类继承” - 您没有在任何地方列出任何类。 –
也许这是一个解决方案,用你需要的对象类型作为成员编写一个小类。然后你可以用你需要的对象作为参数发送你的类的一个实例给你的函数/方法 –
你可以定义一个“通用方法”并注入所需的对象而不是用Activator创建它。 https://msdn.microsoft.com/en-us/library/twcad0zb.aspx – zanseb